refactor: abstract traefik router labels and dynamic config
This commit is contained in:
parent
d742671460
commit
95e67dd151
9 changed files with 152 additions and 74 deletions
|
|
@ -110,6 +110,29 @@ in {
|
|||
sonarr = lib.mkIf cfg.sonarr.enable (mkUser 3007);
|
||||
};
|
||||
|
||||
homelab.traefikRouters = {
|
||||
bazarr = lib.mkIf cfg.bazarr.enable {
|
||||
rule = "Host(`bazarr.depeuter.dev`)";
|
||||
port = 6767;
|
||||
};
|
||||
prowlarr = lib.mkIf cfg.prowlarr.enable {
|
||||
rule = "Host(`prowlarr.depeuter.dev`)";
|
||||
port = 9696;
|
||||
};
|
||||
qbittorrent = lib.mkIf cfg.qbittorrent.enable {
|
||||
rule = "Host(`qb.depeuter.dev`)";
|
||||
port = 10095;
|
||||
};
|
||||
radarr = lib.mkIf cfg.radarr.enable {
|
||||
rule = "Host(`radarr.depeuter.dev`)";
|
||||
port = 7878;
|
||||
};
|
||||
sonarr = lib.mkIf cfg.sonarr.enable {
|
||||
rule = "Host(`sonarr.depeuter.dev`)";
|
||||
port = 8989;
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.oci-containers.containers = let
|
||||
videoHostPath = config.homelab.fileSystems.media.video.hostPath;
|
||||
in {
|
||||
|
|
@ -141,12 +164,6 @@ in {
|
|||
"${videoHostPath}/Films:/media/movies"
|
||||
"${videoHostPath}/Series:/media/series"
|
||||
];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.docker.network" = proxyNet;
|
||||
"traefik.http.routers.bazarr.rule" = "Host(`bazarr.depeuter.dev`)";
|
||||
"traefik.http.services.bazarr.loadbalancer.server.port" = toString port;
|
||||
};
|
||||
};
|
||||
|
||||
prowlarr = let
|
||||
|
|
@ -172,12 +189,6 @@ in {
|
|||
|
||||
"/srv/prowlarr-backup:/config/Backups"
|
||||
];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.docker.network" = proxyNet;
|
||||
"traefik.http.routers.prowlarr.rule" = "Host(`prowlarr.depeuter.dev`)";
|
||||
"traefik.http.services.prowlarr.loadbalancer.server.port" = toString port;
|
||||
};
|
||||
};
|
||||
|
||||
qbittorrent = let
|
||||
|
|
@ -205,12 +216,6 @@ in {
|
|||
|
||||
"/srv/torrent:/media/cache"
|
||||
];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.docker.network" = proxyNet;
|
||||
"traefik.http.routers.qbittorrent.rule" = "Host(`qb.depeuter.dev`)";
|
||||
"traefik.http.services.qbittorrent.loadbalancer.server.port" = toString port;
|
||||
};
|
||||
};
|
||||
|
||||
radarr = let
|
||||
|
|
@ -239,12 +244,6 @@ in {
|
|||
"/srv/torrent:/media/cache"
|
||||
"${videoHostPath}/Films:/media/movies"
|
||||
];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.docker.network" = proxyNet;
|
||||
"traefik.http.routers.radarr.rule" = "Host(`radarr.depeuter.dev`)";
|
||||
"traefik.http.services.radarr.loadbalancer.server.port" = toString port;
|
||||
};
|
||||
};
|
||||
|
||||
sonarr = let
|
||||
|
|
@ -273,12 +272,6 @@ in {
|
|||
"/srv/torrent:/media/cache"
|
||||
"${videoHostPath}/Series:/media/series"
|
||||
];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.docker.network" = proxyNet;
|
||||
"traefik.http.routers.sonarr.rule" = "Host(`sonarr.depeuter.dev`)";
|
||||
"traefik.http.services.sonarr.loadbalancer.server.port" = toString port;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue