2024-02-08 23:30:40 +03:00

53 lines
1.2 KiB
Nix

{ pkgs, ... }:
let
nas-path = "/media/nas/media-stack";
caddyconf = pkgs.writeText "Caddyfile" ''
{
auto_https off
http_port 8180
log {
output file /config/logs/access.log
}
}
jellyfin.ataraxiadev.com:8180 {
reverse_proxy jellyfin:8096
}
qbit.ataraxiadev.com:8180 {
reverse_proxy qbittorrent:8080
}
medusa.ataraxiadev.com:8180 {
reverse_proxy medusa:8081
}
jackett.ataraxiadev.com:8180 {
reverse_proxy jackett:9117
}
sonarr.ataraxiadev.com:8180 {
reverse_proxy sonarr:8989
}
radarr.ataraxiadev.com:8180 {
reverse_proxy radarr:7878
}
lidarr.ataraxiadev.com:8180 {
reverse_proxy lidarr:8686
}
kavita.ataraxiadev.com:8180 {
reverse_proxy kavita:5000
}
'';
in {
virtualisation.oci-containers.containers.media-caddy = {
autoStart = true;
image = "ghcr.io/hotio/caddy:release-2.7.4";
environment = {
PUID = "1000";
PGID = "100";
UMASK = "002";
TZ = "Europe/Moscow";
};
extraOptions = [ "--pod=media-stack" ];
volumes = [
"${nas-path}/configs/caddy:/config"
"${caddyconf}:/config/Caddyfile"
];
};
}