From 0305b1ce40b8ea530347d8a093f63dab4fd9b741 Mon Sep 17 00:00:00 2001 From: GHOSCHT <31184695+GHOSCHT@users.noreply.github.com> Date: Wed, 2 Oct 2024 20:52:43 +0200 Subject: [PATCH] Centralize diun settings --- hosts/franz/arion/git/arion-compose.nix | 7 +--- .../arion/infrastructure/arion-compose.nix | 15 +++---- hosts/franz/arion/media/arion-compose.nix | 42 +++++++------------ hosts/franz/arion/passwords/arion-compose.nix | 7 +--- 4 files changed, 24 insertions(+), 47 deletions(-) diff --git a/hosts/franz/arion/git/arion-compose.nix b/hosts/franz/arion/git/arion-compose.nix index 5e421e3..b5c8dbd 100644 --- a/hosts/franz/arion/git/arion-compose.nix +++ b/hosts/franz/arion/git/arion-compose.nix @@ -15,6 +15,7 @@ useHostStore = true; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; "traefik.docker.network" = "dmz"; "traefik.http.services.forgejo.loadbalancer.server.port" = "3000"; @@ -30,12 +31,6 @@ "traefik.http.routers.forgejo-external.entrypoints" = "websecure-external"; "traefik.http.routers.forgejo-external.tls" = "true"; "traefik.http.routers.forgejo-external.tls.certresolver" = "letsencrypt"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; - "diun.exclude_tags" = "\\b\\d{4,}\\b"; }; volumes = [ "/storage/dataset/docker/git/forgejo_data:/data" diff --git a/hosts/franz/arion/infrastructure/arion-compose.nix b/hosts/franz/arion/infrastructure/arion-compose.nix index f695508..7d008bf 100644 --- a/hosts/franz/arion/infrastructure/arion-compose.nix +++ b/hosts/franz/arion/infrastructure/arion-compose.nix @@ -12,7 +12,7 @@ services = { traefik.service = { - image = "traefik:v3.1.4"; + image = "traefik:3.1.4"; container_name = "traefik"; useHostStore = true; ports = [ @@ -24,6 +24,8 @@ ]; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.dashboard.rule" = "Host(`traefik.ghoscht.com`)"; "traefik.http.routers.dashboard.entrypoints" = "websecure"; "traefik.http.services.dashboard.loadbalancer.server.port" = "8080"; @@ -35,11 +37,6 @@ "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme" = "https"; "traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto" = "https"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$"; }; volumes = [ "/home/ghoscht/.docker/infrastructure/traefik_config/traefik.yml:/traefik.yml:ro" @@ -74,8 +71,6 @@ ]; labels = { "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; "diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$"; }; depends_on = [ @@ -140,7 +135,6 @@ image = "crazymax/diun:4.28"; container_name = "diun"; restart = "always"; - command = "serve"; volumes = [ "/storage/dataset/docker/infrastructure/diun_data:/data" "/var/run/docker.sock:/var/run/docker.sock" @@ -155,6 +149,9 @@ DIUN_WATCH_RUNONSTARTUP = "true"; DIUN_PROVIDERS_DOCKER = "true"; + DIUN_DEFAULTS_SORTTAGS = "semver"; + DIUN_DEFAULTS_INCLUDETAGS = "^\\d+\\.\\d+\\.\\d+$$"; + DIUN_DEFAULTS_WATCHREPO = "true"; DIUN_DEFAULTS_MAXTAGS = 1; DIUN_DEFAULTS_NOTIFYON = "new"; diff --git a/hosts/franz/arion/media/arion-compose.nix b/hosts/franz/arion/media/arion-compose.nix index b7bd492..89ef1d8 100644 --- a/hosts/franz/arion/media/arion-compose.nix +++ b/hosts/franz/arion/media/arion-compose.nix @@ -16,6 +16,8 @@ ]; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.jellyfin.entrypoints" = "websecure"; "traefik.http.routers.jellyfin.rule" = "Host(`jellyfin.ghoscht.com`)"; "traefik.http.services.jellyfin.loadbalancer.server.port" = "8096"; @@ -23,11 +25,7 @@ "traefik.http.routers.jellyfin.tls" = "true"; "traefik.http.routers.jellyfin.tls.certresolver" = "letsencrypt"; - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; - "diun.exclude_tags" = "\\b\\d{4,}\\b"; + "diun.exclude_tags" = "\\d{4,}"; }; volumes = [ "/storage/dataset/docker/media/jellyfin_data:/config" @@ -50,6 +48,7 @@ container_name = "navidrome"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; "traefik.docker.network" = "dmz"; "traefik.http.services.navidrome.loadbalancer.server.port" = "4533"; @@ -65,12 +64,6 @@ "traefik.http.routers.navidrome-external.entrypoints" = "websecure-external"; "traefik.http.routers.navidrome-external.tls" = "true"; "traefik.http.routers.navidrome-external.tls.certresolver" = "letsencrypt"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; - "diun.exclude_tags" = "\\b\\d{4,}\\b"; }; volumes = [ "/storage/dataset/docker/media/navidrome_data:/data" @@ -157,6 +150,8 @@ container_name = "prowlarr"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.prowlarr.entrypoints" = "websecure"; "traefik.http.routers.prowlarr.rule" = "Host(`prowlarr.ghoscht.com`)"; "traefik.http.services.prowlarr.loadbalancer.server.port" = "9696"; @@ -164,11 +159,6 @@ "traefik.http.routers.prowlarr.tls" = "true"; "traefik.http.routers.prowlarr.tls.certresolver" = "letsencrypt"; "traefik.http.routers.prowlarr.middlewares" = "authentik@file"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; }; volumes = [ "/storage/dataset/docker/media/prowlarr_data:/config" @@ -189,6 +179,8 @@ container_name = "sonarr"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.sonarr.entrypoints" = "websecure"; "traefik.http.routers.sonarr.rule" = "Host(`sonarr.ghoscht.com`)"; "traefik.http.services.sonarr.loadbalancer.server.port" = "8989"; @@ -196,10 +188,6 @@ "traefik.http.routers.sonarr.tls" = "true"; "traefik.http.routers.sonarr.tls.certresolver" = "letsencrypt"; "traefik.http.routers.sonarr.middlewares" = "authentik@file"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; }; volumes = [ "/storage/dataset/docker/media/sonarr_data:/config" @@ -222,6 +210,8 @@ container_name = "radarr"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.radarr.entrypoints" = "websecure"; "traefik.http.routers.radarr.rule" = "Host(`radarr.ghoscht.com`)"; "traefik.http.services.radarr.loadbalancer.server.port" = "7878"; @@ -229,10 +219,6 @@ "traefik.http.routers.radarr.tls" = "true"; "traefik.http.routers.radarr.tls.certresolver" = "letsencrypt"; "traefik.http.routers.radarr.middlewares" = "authentik@file"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; }; volumes = [ "/storage/dataset/docker/media/radarr_data:/config" @@ -255,6 +241,8 @@ container_name = "lidarr"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.lidarr.entrypoints" = "websecure"; "traefik.http.routers.lidarr.rule" = "Host(`lidarr.ghoscht.com`)"; "traefik.http.services.lidarr.loadbalancer.server.port" = "8686"; @@ -263,6 +251,8 @@ "traefik.http.routers.lidarr.tls" = "true"; "traefik.http.routers.lidarr.tls.certresolver" = "letsencrypt"; "traefik.http.routers.lidarr.middlewares" = "authentik@file"; + + "diun.exclude_tags" = "\\d{4,}"; }; volumes = [ "/storage/dataset/docker/media/lidarr_data:/config" @@ -335,6 +325,8 @@ container_name = "autobrr"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; + "traefik.http.routers.autobrr.entrypoints" = "websecure"; "traefik.http.routers.autobrr.rule" = "Host(`autobrr.ghoscht.com`)"; "traefik.http.services.autobrr.loadbalancer.server.port" = "7474"; @@ -342,8 +334,6 @@ "traefik.http.routers.autobrr.tls" = "true"; "traefik.http.routers.autobrr.tls.certresolver" = "letsencrypt"; - "diun.enable" = "true"; - "diun.watch_repo" = "true"; "diun.include_tags" = "^v\\d+\\.\\d+\\.\\d+$$"; }; volumes = [ diff --git a/hosts/franz/arion/passwords/arion-compose.nix b/hosts/franz/arion/passwords/arion-compose.nix index 9654a0e..91fd592 100644 --- a/hosts/franz/arion/passwords/arion-compose.nix +++ b/hosts/franz/arion/passwords/arion-compose.nix @@ -12,6 +12,7 @@ container_name = "vaultwarden"; labels = { "traefik.enable" = "true"; + "diun.enable" = "true"; "traefik.docker.network" = "dmz"; "traefik.http.services.vaultwarden.loadbalancer.server.port" = "80"; @@ -27,12 +28,6 @@ "traefik.http.routers.vaultwarden-external.entrypoints" = "websecure-external"; "traefik.http.routers.vaultwarden-external.tls" = "true"; "traefik.http.routers.vaultwarden-external.tls.certresolver" = "letsencrypt"; - - "diun.enable" = "true"; - "diun.watch_repo" = "true"; - "diun.sort_tags" = "semver"; - "diun.include_tags" = "^\\d+\\.\\d+\\.\\d+$$"; - "diun.exclude_tags" = "\\b\\d{4,}\\b"; }; volumes = [ "/storage/dataset/docker/passwords/vaultwarden_data/:/data"