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