add homer cnfig

This commit is contained in:
vincent 2022-05-23 21:44:34 +02:00
parent fb39bddf94
commit 7370b30720
19 changed files with 152 additions and 9 deletions

View File

@ -18,7 +18,16 @@ job "alertmanager" {
service { service {
name = "alertmanager" name = "alertmanager"
port = "http" port = "http"
tags = ["urlprefix-/alertmanager strip=/alertmanager"] tags = [
"urlprefix-/alertmanager strip=/alertmanager",
"homer.enable=true",
"homer.name=AlertManager",
"homer.service=Monitoring",
"homer.logo=https://camo.githubusercontent.com/13ff7fc7ea6d8a6d98d856da8e3220501b9e6a89620f017d1db039007138e062/687474703a2f2f6465766f70792e696f2f77702d636f6e74656e742f75706c6f6164732f323031392f30322f7a616c2d3230302e706e67",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_http}",
]
check { check {
name = "alertmanager_ui port alive" name = "alertmanager_ui port alive"
type = "http" type = "http"

View File

@ -19,6 +19,13 @@ job "chainetv" {
name = "chainetv" name = "chainetv"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=ChaineTV",
"homer.service=Application",
"homer.icon=fas fa-tv",
"homer.target=_blank",
"homer.url=https://www.ducamps.win/${NOMAD_JOB_NAME}",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/chainetv`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/chainetv`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win",

View File

@ -109,11 +109,15 @@ links:
url: "https://www.ducamps.win/notebook/" url: "https://www.ducamps.win/notebook/"
services: services:
- name: Application - name: Application
icon: "fas fa-heartbeat" icon: "fas fa-heartbeet"
items: [] items: []
- name: Platform - name: Platform
icon: "fas fa-code-branch" icon: "fas fa-code-branch"
items: [] items: []
- name: Monitoring
icon: "fab fa-watchman-monitoring"
items: []
EOH EOH
destination = "local/base.yml" destination = "local/base.yml"

View File

@ -26,6 +26,14 @@ job "deconz" {
name = "deconz" name = "deconz"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=Deconz",
"homer.service=Application",
"homer.logo=https://tutoriels.domotique-store.fr/images/JeeBox/plugin-zigbee/icone-plugin-zigbee-officiel-jeedom.png?1632754975124",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_http}",
] ]
} }
config { config {

View File

@ -23,6 +23,13 @@ job "drone" {
name = "drone" name = "drone"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=DroneCI",
"homer.service=Platform",
"homer.logo=https://drone.ducamps.win/static/media/logo.76c744d4.svg",
"homer.target=_blank",
"homer.url=https://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",

View File

@ -20,7 +20,13 @@ job "git" {
service { service {
name = "gitea" name = "gitea"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=Gitea",
"homer.service=Platform",
"homer.target=_blank",
"homer.logo=https://git.ducamps.win/assets/img/logo.svg",
"homer.url=https://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",

View File

@ -15,6 +15,13 @@ job "grafana" {
name = "grafana" name = "grafana"
port = "http" port = "http"
tags= [ tags= [
"homer.enable=true",
"homer.name=Grafana",
"homer.service=Monitoring",
"homer.logo=https://grafana.ducamps.win/public/img/grafana_icon.svg",
"homer.target=_blank",
"homer.url=https://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.grafana.entryPoints=websecure", "traefik.http.routers.grafana.entryPoints=websecure",
"traefik.http.routers.grafana.rule=Host(`grafana.ducamps.win`)", "traefik.http.routers.grafana.rule=Host(`grafana.ducamps.win`)",

View File

@ -3,7 +3,7 @@ job "homeassistant" {
datacenters = ["homelab"] datacenters = ["homelab"]
type = "service" type = "service"
meta { meta {
forcedeploy = "1" forcedeploy = "0"
} }
constraint { constraint {
attribute = "${attr.unique.hostname}" attribute = "${attr.unique.hostname}"
@ -35,10 +35,14 @@ job "homeassistant" {
name = "${NOMAD_TASK_NAME}" name = "${NOMAD_TASK_NAME}"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=Hass",
"homer.service=Application",
"homer.subtitle=Home Assistant",
"homer.logo=https://raw.githubusercontent.com/home-assistant/assets/master/logo/logo-small.svg",
"homer.target=_blank",
"homer.url=https://${NOMAD_TASK_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.middlewares.httpsRedirect.redirectscheme.scheme=https",
"traefik.http.routers.${NOMAD_TASK_NAME}_insecure.middlewares=httpsRedirect",
"traefik.http.routers.${NOMAD_TASK_NAME}_insecure.rule=Host(`${NOMAD_TASK_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_TASK_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_TASK_NAME}.rule=Host(`${NOMAD_TASK_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_TASK_NAME}.tls.domains[0].sans=${NOMAD_TASK_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_TASK_NAME}.tls.domains[0].sans=${NOMAD_TASK_NAME}.ducamps.win",
"traefik.http.routers.${NOMAD_TASK_NAME}.tls.certresolver=myresolver", "traefik.http.routers.${NOMAD_TASK_NAME}.tls.certresolver=myresolver",

View File

@ -19,7 +19,16 @@ job "pihole" {
} }
service { service {
name = "pihole-gui" name = "pihole-gui"
tags = ["pihole", "admin"] tags = ["pihole", "admin",
"homer.enable=true",
"homer.name=Pi-hole",
"homer.service=Application",
"homer.type=PiHole",
"homer.logo=http://${NOMAD_ADDR_http}/admin/img/logo.svg",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_http}/admin",
]
port = "http" port = "http"
} }
task "server" { task "server" {

View File

@ -125,7 +125,17 @@ EOH
service { service {
name = "prometheus" name = "prometheus"
tags = ["urlprefix-/"] tags = ["urlprefix-/",
"homer.enable=true",
"homer.name=Prometheus",
"homer.service=Monitoring",
"homer.type=Prometheus",
"homer.logo=https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Prometheus_software_logo.svg/173px-Prometheus_software_logo.svg.png",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_prometheus_ui}",
]
port = "prometheus_ui" port = "prometheus_ui"
check { check {

View File

@ -22,6 +22,14 @@ job "radicale" {
name = "radicale" name = "radicale"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=Radicale",
"homer.service=Application",
"homer.logo=https://radicale.org/assets/logo.svg",
"homer.target=_blank",
"homer.url=https://www.ducamps.win/${NOMAD_JOB_NAME}",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/radicale`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/radicale`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win",

View File

@ -28,6 +28,13 @@ job "supysonic" {
name = "supysonic" name = "supysonic"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=Supysonic",
"homer.service=Application",
"homer.icon=fas fa-headphones",
"homer.target=_blank",
"homer.url=http://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",

View File

@ -28,6 +28,16 @@ job "syncthing" {
service { service {
name = "syncthing-web" name = "syncthing-web"
port = "http" port = "http"
tags = [
"homer.enable=true",
"homer.name=Syncthing",
"homer.service=Application",
"homer.logo=http://${NOMAD_ADDR_http}/assets/img/logo-horizontal.svg",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_http}",
]
} }
config { config {
image = "linuxserver/syncthing" image = "linuxserver/syncthing"

View File

@ -34,6 +34,15 @@ job "traefik-ingress" {
name = "traefik-admin" name = "traefik-admin"
port = "admin" port = "admin"
tags = [ tags = [
"homer.enable=true",
"homer.name=Traefik admin",
"homer.subtitle=WAN",
"homer.service=Platform",
"homer.logo=https://upload.wikimedia.org/wikipedia/commons/1/1b/Traefik.logo.png",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_admin}",
] ]
} }

View File

@ -35,6 +35,15 @@ job "traefik-local" {
name = "traefik-local-admin" name = "traefik-local-admin"
port = "admin" port = "admin"
tags = [ tags = [
"homer.enable=true",
"homer.name=Traefik admin",
"homer.subtitle=LAN",
"homer.service=Platform",
"homer.logo=https://upload.wikimedia.org/wikipedia/commons/1/1b/Traefik.logo.png",
"homer.target=_blank",
"homer.url=http://${NOMAD_ADDR_admin}",
] ]
} }

View File

@ -25,6 +25,13 @@ job "tt-rss" {
name = "tt-rss" name = "tt-rss"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=TT-RSS",
"homer.service=Application",
"homer.logo=https://framalibre.org/sites/default/files/styles/thumbnail/public/leslogos/ic_launcher_1.png",
"homer.target=_blank",
"homer.url=https://www.ducamps.win/tt-rss",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/tt-rss`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`www.ducamps.win`)&&PathPrefix(`/tt-rss`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=www.ducamps.win",

View File

@ -23,6 +23,13 @@ job "vaultwarden" {
name = "vaultwarden" name = "vaultwarden"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=VaultWarden",
"homer.service=Application",
"homer.logo=https://yunohost.org/user/images/bitwarden_logo.png",
"homer.target=_blank",
"homer.url=https://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`vault.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`vault.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=vault.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=vault.ducamps.win",

View File

@ -26,6 +26,14 @@ job "wikijs" {
name = "wikijs" name = "wikijs"
port = "http" port = "http"
tags = [ tags = [
"homer.enable=true",
"homer.name=wikiJS",
"homer.service=Application",
"homer.subtitle=projet Infotech",
"homer.logo=https://repository-images.githubusercontent.com/65848095/7655d480-b066-11e9-991b-81088c474331",
"homer.target=_blank",
"homer.url=https://${NOMAD_JOB_NAME}.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",

View File

@ -12,6 +12,13 @@ job "www" {
service { service {
name = "www" name = "www"
tags = [ tags = [
"homer.enable=true",
"homer.name=Website",
"homer.service=Application",
"homer.icon=fas fa-blog",
"homer.target=_blank",
"homer.url=https://www.ducamps.win",
"traefik.enable=true", "traefik.enable=true",
"traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)", "traefik.http.routers.${NOMAD_JOB_NAME}.rule=Host(`${NOMAD_JOB_NAME}.ducamps.win`)",
"traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win", "traefik.http.routers.${NOMAD_JOB_NAME}.tls.domains[0].sans=${NOMAD_JOB_NAME}.ducamps.win",