From e5f57c30da878f97068bba4ef745df03efa92648 Mon Sep 17 00:00:00 2001 From: smayzy Date: Fri, 5 Sep 2025 19:50:30 +0200 Subject: [PATCH] add servarr and proxmox to traefik --- modules/nix/containers/nixos/traefik.nix | 88 +++++++++++++++++++++++- modules/nix/containers/nixos/unbound.nix | 22 +++--- 2 files changed, 98 insertions(+), 12 deletions(-) diff --git a/modules/nix/containers/nixos/traefik.nix b/modules/nix/containers/nixos/traefik.nix index 356ac56..03f97db 100644 --- a/modules/nix/containers/nixos/traefik.nix +++ b/modules/nix/containers/nixos/traefik.nix @@ -89,11 +89,97 @@ in http = { routers = { traefik = { - rule = "Host(`traefik.internal.smayzy.ovh`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"; + rule = "Host(`traefik.internal.smayzy.ovh`)"; entryPoints = [ "localSec" ]; service = "api@internal"; tls.certResolver = "cloudflare"; }; + httpd = { + rule = "Host(`httpd.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "httpd"; + tls.certResolver = "cloudflare"; + }; + bazarr-anime = { + rule = "Host(`bazarr-anime.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "bazarr-anime"; + tls.certResolver = "cloudflare"; + }; + bazarr = { + rule = "Host(`bazarr.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "bazarr"; + tls.certResolver = "cloudflare"; + }; + lidarr = { + rule = "Host(`lidarr.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "lidarr"; + tls.certResolver = "cloudflare"; + }; + nzbget = { + rule = "Host(`nzbget.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "nzbget"; + tls.certResolver = "cloudflare"; + }; + prowlarr = { + rule = "Host(`prowlarr.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "prowlarr"; + tls.certResolver = "cloudflare"; + }; + qbittorrent = { + rule = "Host(`qbittorrent.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "qbittorrent"; + tls.certResolver = "cloudflare"; + }; + radarr = { + rule = "Host(`radarr.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "radarr"; + tls.certResolver = "cloudflare"; + }; + sonarr-anime = { + rule = "Host(`sonarr-anime.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "sonarr-anime"; + tls.certResolver = "cloudflare"; + }; + sonarr = { + rule = "Host(`sonarr.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "sonarr"; + tls.certResolver = "cloudflare"; + }; + srv1-proxmox = { + rule = "Host(`srv1-proxmox.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "srv1-proxmox"; + tls.certResolver = "cloudflare"; + }; + srv2-proxmox = { + rule = "Host(`srv2-proxmox.internal.smayzy.ovh`)"; + entryPoints = [ "localSec" ]; + service = "srv2-proxmox"; + tls.certResolver = "cloudflare"; + }; + }; + services = { + "httpd".loadBalancer.servers = [ { url = "http://192.168.1.201" ; } ]; + "bazarr-anime".loadBalancer.servers = [ { url = "http://192.168.1.147:6768"; } ]; + "bazarr".loadBalancer.servers = [ { url = "http://192.168.1.147:6767"; } ]; + "lidarr".loadBalancer.servers = [ { url = "http://192.168.1.147:8686"; } ]; + "nzbget".loadBalancer.servers = [ { url = "http://192.168.1.147:6789"; } ]; + "prowlarr".loadBalancer.servers = [ { url = "http://192.168.1.147:9696"; } ]; + "qbittorrent".loadBalancer.servers = [ { url = "http://192.168.1.147:8080"; } ]; + "radarr".loadBalancer.servers = [ { url = "http://192.168.1.147:7878"; } ]; + "sonarr-anime".loadBalancer.servers = [ { url = "http://192.168.1.147:8988"; } ]; + "sonarr".loadBalancer.servers = [ { url = "http://192.168.1.147:8989"; } ]; + "srv1-proxmox".loadBalancer.servers = [ { url = "http://192.168.1.193:8006"; } ]; + "srv2-proxmox".loadBalancer.servers = [ { url = "http://192.168.1.113:8006"; } ]; }; }; }; diff --git a/modules/nix/containers/nixos/unbound.nix b/modules/nix/containers/nixos/unbound.nix index 7cb8e0e..2374875 100644 --- a/modules/nix/containers/nixos/unbound.nix +++ b/modules/nix/containers/nixos/unbound.nix @@ -47,17 +47,17 @@ in ''"httpd.internal.smayzy.ovh. A 192.168.1.203"'' - ''"bazarr-anime.internal.smayzy.ovh. A 192.168.1.181"'' - ''"bazarr.internal.smayzy.ovh. A 192.168.1.181"'' - ''"lidarr.internal.smayzy.ovh. A 192.168.1.181"'' - ''"nzbget.internal.smayzy.ovh. A 192.168.1.181"'' - ''"prowlarr.internal.smayzy.ovh. A 192.168.1.181"'' - ''"qbittorrent.internal.smayzy.ovh. A 192.168.1.181"'' - ''"radarr.internal.smayzy.ovh. A 192.168.1.181"'' - ''"sonarr-anime.internal.smayzy.ovh. A 192.168.1.181"'' - ''"sonarr.internal.smayzy.ovh. A 192.168.1.181"'' - ''"srv1-proxmox.internal.smayzy.ovh. A 192.168.1.181"'' - ''"srv2-proxmox.internal.smayzy.ovh. A 192.168.1.181"'' + ''"bazarr-anime.internal.smayzy.ovh. A 192.168.1.203"'' + ''"bazarr.internal.smayzy.ovh. A 192.168.1.203"'' + ''"lidarr.internal.smayzy.ovh. A 192.168.1.203"'' + ''"nzbget.internal.smayzy.ovh. A 192.168.1.203"'' + ''"prowlarr.internal.smayzy.ovh. A 192.168.1.203"'' + ''"qbittorrent.internal.smayzy.ovh. A 192.168.1.203"'' + ''"radarr.internal.smayzy.ovh. A 192.168.1.203"'' + ''"sonarr-anime.internal.smayzy.ovh. A 192.168.1.203"'' + ''"sonarr.internal.smayzy.ovh. A 192.168.1.203"'' + ''"srv1-proxmox.internal.smayzy.ovh. A 192.168.1.203"'' + ''"srv2-proxmox.internal.smayzy.ovh. A 192.168.1.203"'' ]; }; };