diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index be8d41e..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM b4bz/homer:latest
-
-COPY config.yml /www/config.yml
-COPY assets /www/assets
\ No newline at end of file
diff --git a/assets/config.yml b/assets/config.yml
new file mode 100644
index 0000000..714ebf2
--- /dev/null
+++ b/assets/config.yml
@@ -0,0 +1,91 @@
+---
+title: "Reese's Homelab"
+subtitle: "Duconet"
+icon: "fas fa-tachometer-alt" # Optional icon
+footer: false
+
+links: [] # Allows for navbar (dark mode, layout, and search) without any links
+services:
+ - name: "DevSecOps"
+ icon: "fas fa-code-branch"
+ items:
+ - name: "Gitlab"
+ logo: "assets/tools/Gitlab.svg"
+ tag: "CI"
+ url: "https://gitlab.ducoterra.net/"
+ target: '_blank'
+ - name: "pgAdmin"
+ logo: "assets/tools/pgadmin.ico"
+ tag: "CI"
+ url: "https://pgadmin.ducoterra.net/"
+ target: '_blank'
+ - name: "Storage"
+ icon: "fas fa-save"
+ items:
+ - name: "Nextcloud"
+ logo: "assets/tools/nextcloud.png"
+ tag: "Storage"
+ url: "https://nextcloud.ducoterra.net/"
+ target: '_blank'
+ - name: "Freenas"
+ logo: "assets/tools/freenas.png"
+ tag: "Storage"
+ url: "http://freenas.ducoterra.net/"
+ target: '_blank'
+ - name: "Entertainment"
+ icon: "fas fa-photo-video"
+ items:
+ - name: "Jellyfin"
+ logo: "assets/tools/jellyfin.svg"
+ url: "https://jellyfin.ducoterra.net"
+ tag: "Entertainment"
+ target: '_blank'
+ - name: "Monitoring"
+ icon: "fas fa-heartbeat"
+ items:
+ - name: "Grafana"
+ logo: "assets/tools/grafana.svg"
+ url: "https://grafana.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Graphite"
+ logo: "assets/tools/graphite.png"
+ url: "https://graphite.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Zipkin"
+ logo: "assets/tools/zipkin.ico"
+ url: "https://zipkin.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Mainframe"
+ logo: "assets/tools/glances.png"
+ url: "https://monitor.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Network"
+ icon: "fas fa-server"
+ items:
+ - name: "Traefik"
+ logo: assets/tools/traefik.png
+ tag: "Network"
+ url: "https://traefik.ducoterra.net/"
+ target: '_blank'
+ - name: "Unifi"
+ logo: assets/tools/unifi.png
+ tag: "Network"
+ url: "https://unifi.ui.com"
+ target: '_blank'
+ - name: "Protect"
+ logo: assets/tools/protect.ico
+ tag: "Network"
+ url: "https://protect.ui.com/"
+ target: '_blank'
+ - name: "Projects"
+ icon: "fa-project-diagram"
+ items:
+ - name: "Python Class 2020"
+ logo: "fa-file-code"
+ tag: "Projects"
+ url: "https://pythondocs2020.ducoterra.net/day5/"
+ target: '_blank'
\ No newline at end of file
diff --git a/assets/config.yml.dist b/assets/config.yml.dist
new file mode 100644
index 0000000..85478ec
--- /dev/null
+++ b/assets/config.yml.dist
@@ -0,0 +1,77 @@
+---
+# Homepage configuration
+# See https://fontawesome.com/icons for icons options
+
+title: "Demo dashboard"
+subtitle: "Homer"
+logo: "logo.png"
+# icon: "fas fa-skull-crossbones" # Optional icon
+
+header: true
+footer: '
Created with ❤️ with bulma, vuejs & font awesome // Fork me on
' # set false if you want to hide it.
+
+# Optional theme customization
+theme: default
+colors:
+ light:
+ highlight-primary: "#3367d6"
+ highlight-secondary: "#4285f4"
+ highlight-hover: "#5a95f5"
+ background: "#f5f5f5"
+ card-background: "#ffffff"
+ text: "#363636"
+ text-header: "#ffffff"
+ text-title: "#303030"
+ text-subtitle: "#424242"
+ card-shadow: rgba(0, 0, 0, 0.1)
+ link-hover: "#363636"
+ dark:
+ highlight-primary: "#3367d6"
+ highlight-secondary: "#4285f4"
+ highlight-hover: "#5a95f5"
+ background: "#131313"
+ card-background: "#2b2b2b"
+ text: "#eaeaea"
+ text-header: "#ffffff"
+ text-title: "#fafafa"
+ text-subtitle: "#f5f5f5"
+ card-shadow: rgba(0, 0, 0, 0.4)
+ link-hover: "#ffdd57"
+
+# Optional message
+message:
+ #url: https://b4bz.io
+ style: "is-dark" # See https://bulma.io/documentation/components/message/#colors for styling options.
+ title: "Demo !"
+ icon: "fa fa-grin"
+ content: "This is a dummy homepage demo.
Find more information on github.com/bastienwirtz/homer"
+
+# Optional navbar
+# links: [] # Allows for navbar (dark mode, layout, and search) without any links
+links:
+ - name: "Contribute"
+ icon: "fab fa-github"
+ url: "https://github.com/bastienwirtz/homer"
+ target: "_blank" # optional html a tag target attribute
+ - name: "Wiki"
+ icon: "fas fa-book"
+ url: "https://www.wikipedia.org/"
+
+# Services
+# First level array represent a group.
+# Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed).
+services:
+ - name: "Applications"
+ icon: "fas fa-cloud"
+ items:
+ - name: "Awesome app"
+ logo: "assets/tools/sample.png"
+ subtitle: "Bookmark example"
+ tag: "app"
+ url: "https://www.reddit.com/r/selfhosted/"
+ target: "_blank" # optional html a tag target attribute
+ - name: "Another one"
+ logo: "assets/tools/sample2.png"
+ subtitle: "Another application"
+ tag: "app"
+ url: "#"
diff --git a/assets/config.yml.dist.sample-sui b/assets/config.yml.dist.sample-sui
new file mode 100644
index 0000000..ff7f80a
--- /dev/null
+++ b/assets/config.yml.dist.sample-sui
@@ -0,0 +1,64 @@
+---
+# Homepage configuration
+# See https://fontawesome.com/icons for icons options
+
+title: "Hello beautiful!"
+subtitle: "App dashboard"
+logo: false
+# icon: "fas fa-skull-crossbones" Optional icon
+
+header: true
+
+# Optional theme customization
+theme: sui
+colors:
+ light:
+ highlight-primary: transparent
+ highlight-secondary: transparent
+ highlight-hover: "#4a4a4a"
+ text-subtitle: "#424242"
+ dark:
+ background: "#2B2C56"
+ highlight-primary: transparent
+ highlight-secondary: transparent
+ highlight-hover: "#200b35"
+ text-subtitle: "#6375e8"
+
+# Optional navbar
+# links: [] # Allows for navbar (dark mode, layout, and search) without any links
+links: []
+
+# Services
+# First level array represent a group.
+# Leave only a "items" key if not using group (group name, icon & tagstyle are optional, section separation will not be displayed).
+services:
+ - name: "APPLICATIONS"
+ items:
+ - name: "Jenkins"
+ logo: "assets/tools/jenkins.png"
+ subtitle: "Continuous integration server"
+ url: "https://jenkins.io/"
+ - name: "RabbitMQ Management"
+ logo: "assets/tools/rabbitmq.png"
+ subtitle: "Manage & monitor RabbitMQ server"
+ # Optional tagstyle
+ # Same styling options as the optional message.
+ tagstyle: "is-success"
+ url: "https://www.rabbitmq.com/"
+ - name: "M/Monit"
+ logo: "assets/tools/monit.png"
+ subtitle: "Monitor & manage all monit enabled hosts"
+ url: "https://mmonit.com/monit/"
+ - name: "Grafana"
+ logo: "assets/tools/grafana.png"
+ subtitle: "Metric analytics & dashboards"
+ url: "https://grafana.com/"
+ - name: "Kibana"
+ logo: "assets/tools/elastic.png"
+ subtitle: "Explore & visualize logs"
+ url: "https://www.elastic.co/products/kibana"
+ - name: "Website monitoring"
+ logo: "assets/tools/pingdom.png"
+ subtitle: "Pingdom public reports overview"
+ tag: "CI"
+ url: "https://www.pingdom.com/"
diff --git a/assets/custom.css.sample b/assets/custom.css.sample
new file mode 100644
index 0000000..00658d7
--- /dev/null
+++ b/assets/custom.css.sample
@@ -0,0 +1,8 @@
+@charset "UTF-8";
+
+/* Custom card colors */
+/* Use with `class:` property of services in config.yml */
+body #app .card.green {
+ background-color: #006600;
+ color: #00ff00;
+}
diff --git a/assets/icons/favicon-16x16.png b/assets/icons/favicon-16x16.png
new file mode 100644
index 0000000..c3e9869
Binary files /dev/null and b/assets/icons/favicon-16x16.png differ
diff --git a/assets/icons/favicon-32x32.png b/assets/icons/favicon-32x32.png
new file mode 100644
index 0000000..ad5172e
Binary files /dev/null and b/assets/icons/favicon-32x32.png differ
diff --git a/assets/icons/icon-any.png b/assets/icons/icon-any.png
new file mode 100644
index 0000000..c444c5c
Binary files /dev/null and b/assets/icons/icon-any.png differ
diff --git a/assets/icons/icon-any.svg b/assets/icons/icon-any.svg
new file mode 100644
index 0000000..89f4ef7
--- /dev/null
+++ b/assets/icons/icon-any.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/icons/icon-maskable.png b/assets/icons/icon-maskable.png
new file mode 100644
index 0000000..896ca66
Binary files /dev/null and b/assets/icons/icon-maskable.png differ
diff --git a/assets/icons/safari-pinned-tab.svg b/assets/icons/safari-pinned-tab.svg
new file mode 100644
index 0000000..26dc0ef
--- /dev/null
+++ b/assets/icons/safari-pinned-tab.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/assets/manifest.json b/assets/manifest.json
new file mode 100644
index 0000000..9faa093
--- /dev/null
+++ b/assets/manifest.json
@@ -0,0 +1 @@
+{"name":"Homer Dashboard","short_name":"Homer","theme_color":"#3367D6","icons":[{"src":"./icons/favicon-16x16.png","sizes":"16x16","type":"image/png"},{"src":"./icons/favicon-32x32.png","sizes":"32x32","type":"image/png"},{"src":"./icons/icon-any.png","sizes":"512x512","type":"image/png","purpose":"any"},{"src":"./icons/icon-any.svg","sizes":"any","type":"image/svg+xml","purpose":"any"},{"src":"./icons/icon-maskable.png","sizes":"512x512","type":"image/png","purpose":"maskable"},{"src":"./icons/safari-pinned-tab.svg","sizes":"any","type":"image/svg+xml","purpose":"monochrome"}],"start_url":"../","display":"standalone","background_color":"#000000"}
\ No newline at end of file
diff --git a/assets/tools/sample.png b/assets/tools/sample.png
new file mode 100644
index 0000000..6b4774b
Binary files /dev/null and b/assets/tools/sample.png differ
diff --git a/assets/tools/sample2.png b/assets/tools/sample2.png
new file mode 100644
index 0000000..f2327c0
Binary files /dev/null and b/assets/tools/sample2.png differ
diff --git a/config.yml b/config.yml
index 714ebf2..e311bb7 100644
--- a/config.yml
+++ b/config.yml
@@ -10,12 +10,12 @@ services:
icon: "fas fa-code-branch"
items:
- name: "Gitlab"
- logo: "assets/tools/Gitlab.svg"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/Gitlab.svg"
tag: "CI"
url: "https://gitlab.ducoterra.net/"
target: '_blank'
- name: "pgAdmin"
- logo: "assets/tools/pgadmin.ico"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/pgadmin.ico"
tag: "CI"
url: "https://pgadmin.ducoterra.net/"
target: '_blank'
@@ -23,12 +23,12 @@ services:
icon: "fas fa-save"
items:
- name: "Nextcloud"
- logo: "assets/tools/nextcloud.png"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/nextcloud.png"
tag: "Storage"
url: "https://nextcloud.ducoterra.net/"
target: '_blank'
- name: "Freenas"
- logo: "assets/tools/freenas.png"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/freenas.png"
tag: "Storage"
url: "http://freenas.ducoterra.net/"
target: '_blank'
@@ -36,7 +36,7 @@ services:
icon: "fas fa-photo-video"
items:
- name: "Jellyfin"
- logo: "assets/tools/jellyfin.svg"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/jellyfin.svg"
url: "https://jellyfin.ducoterra.net"
tag: "Entertainment"
target: '_blank'
@@ -44,22 +44,22 @@ services:
icon: "fas fa-heartbeat"
items:
- name: "Grafana"
- logo: "assets/tools/grafana.svg"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/grafana.svg"
url: "https://grafana.ducoterra.net/"
tag: "Monitoring"
target: '_blank'
- name: "Graphite"
- logo: "assets/tools/graphite.png"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/graphite.png"
url: "https://graphite.ducoterra.net/"
tag: "Monitoring"
target: '_blank'
- name: "Zipkin"
- logo: "assets/tools/zipkin.ico"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/zipkin.ico"
url: "https://zipkin.ducoterra.net/"
tag: "Monitoring"
target: '_blank'
- name: "Mainframe"
- logo: "assets/tools/glances.png"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/glances.png"
url: "https://monitor.ducoterra.net/"
tag: "Monitoring"
target: '_blank'
@@ -67,25 +67,25 @@ services:
icon: "fas fa-server"
items:
- name: "Traefik"
- logo: assets/tools/traefik.png
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/traefik.png"
tag: "Network"
url: "https://traefik.ducoterra.net/"
target: '_blank'
- name: "Unifi"
- logo: assets/tools/unifi.png
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/unifi.png"
tag: "Network"
url: "https://unifi.ui.com"
target: '_blank'
- name: "Protect"
- logo: assets/tools/protect.ico
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/protect.ico"
tag: "Network"
url: "https://protect.ui.com/"
target: '_blank'
- name: "Projects"
- icon: "fa-project-diagram"
+ icon: "fas fa-project-diagram"
items:
- name: "Python Class 2020"
- logo: "fa-file-code"
+ icon: "fas fa-file-code"
tag: "Projects"
url: "https://pythondocs2020.ducoterra.net/day5/"
target: '_blank'
\ No newline at end of file
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 59993cc..5d01f74 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -2,10 +2,8 @@ version: '3'
services:
homer:
- build: .
- image: hub.ducoterra.net/ducoterra/homer:1.0.2
+ image: b4bz/homer:latest
ports:
- 8080:8080
volumes:
- - ./config.yml:/www/config.yml
- - ./assets:/www/assets
\ No newline at end of file
+ - ./config.yml:/www/config.yml
\ No newline at end of file
diff --git a/helm/templates/config.yaml b/helm/templates/config.yaml
new file mode 100644
index 0000000..00c542d
--- /dev/null
+++ b/helm/templates/config.yaml
@@ -0,0 +1,97 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Release.Name }}
+data:
+ config.yml: |
+ ---
+ title: "Reese's Homelab"
+ subtitle: "Duconet"
+ icon: "fas fa-tachometer-alt" # Optional icon
+ footer: false
+
+ links: [] # Allows for navbar (dark mode, layout, and search) without any links
+ services:
+ - name: "DevSecOps"
+ icon: "fas fa-code-branch"
+ items:
+ - name: "Gitlab"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/Gitlab.svg"
+ tag: "CI"
+ url: "https://gitlab.ducoterra.net/"
+ target: '_blank'
+ - name: "pgAdmin"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/pgadmin.ico"
+ tag: "CI"
+ url: "https://pgadmin.ducoterra.net/"
+ target: '_blank'
+ - name: "Storage"
+ icon: "fas fa-save"
+ items:
+ - name: "Nextcloud"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/nextcloud.png"
+ tag: "Storage"
+ url: "https://nextcloud.ducoterra.net/"
+ target: '_blank'
+ - name: "Freenas"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/freenas.png"
+ tag: "Storage"
+ url: "http://freenas.ducoterra.net/"
+ target: '_blank'
+ - name: "Entertainment"
+ icon: "fas fa-photo-video"
+ items:
+ - name: "Jellyfin"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/jellyfin.svg"
+ url: "https://jellyfin.ducoterra.net"
+ tag: "Entertainment"
+ target: '_blank'
+ - name: "Monitoring"
+ icon: "fas fa-heartbeat"
+ items:
+ - name: "Grafana"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/grafana.svg"
+ url: "https://grafana.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Graphite"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/graphite.png"
+ url: "https://graphite.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Zipkin"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/zipkin.ico"
+ url: "https://zipkin.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Mainframe"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/glances.png"
+ url: "https://monitor.ducoterra.net/"
+ tag: "Monitoring"
+ target: '_blank'
+ - name: "Network"
+ icon: "fas fa-server"
+ items:
+ - name: "Traefik"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/traefik.png"
+ tag: "Network"
+ url: "https://traefik.ducoterra.net/"
+ target: '_blank'
+ - name: "Unifi"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/unifi.png"
+ tag: "Network"
+ url: "https://unifi.ui.com"
+ target: '_blank'
+ - name: "Protect"
+ logo: "https://gitlab.ducoterra.net/services/homer/-/raw/master/assets/tools/protect.ico"
+ tag: "Network"
+ url: "https://protect.ui.com/"
+ target: '_blank'
+ - name: "Projects"
+ icon: "fas fa-project-diagram"
+ items:
+ - name: "Python Class 2020"
+ icon: "fas fa-file-code"
+ tag: "Projects"
+ url: "https://pythondocs2020.ducoterra.net/day5/"
+ target: '_blank'
\ No newline at end of file
diff --git a/helm/templates/deploy.yaml b/helm/templates/deploy.yaml
index 17cb874..45edc93 100644
--- a/helm/templates/deploy.yaml
+++ b/helm/templates/deploy.yaml
@@ -13,7 +13,11 @@ spec:
spec:
containers:
- name: {{ .Release.Name }}
- image: {{ .Values.image }}:{{ .Values.tag }}
+ image: {{ .Values.image }}
+ volumeMounts:
+ - mountPath: /www/config.yml
+ name: config
+ subPath: config.yml
resources:
limits:
memory: "128Mi"
@@ -22,4 +26,8 @@ spec:
memory: "64Mi"
cpu: "1m"
ports:
- - containerPort: 8080
\ No newline at end of file
+ - containerPort: 8080
+ volumes:
+ - name: config
+ configMap:
+ name: {{ .Release.Name }}
\ No newline at end of file
diff --git a/helm/values.yaml b/helm/values.yaml
index dba09d8..7e786a7 100644
--- a/helm/values.yaml
+++ b/helm/values.yaml
@@ -1,2 +1 @@
-image: hub.ducoterra.net/ducoterra/homer
-tag: 1.1.5
\ No newline at end of file
+image: b4bz/homer:latest
\ No newline at end of file