server.nix/services/rr.nix
2025-04-27 18:20:57 +03:00

76 lines
2.1 KiB
Nix

{ config, ... }: {
services = {
lidarr = {
enable = true;
settings = {
server.port = 8686;
auth.method = "External";
};
};
prowlarr = { # /var/lib/private/prowlarr
enable = true;
settings = {
server.port = 9696;
auth.method = "External";
};
};
radarr = {
enable = true;
settings = {
server.port = 7878;
auth.method = "External";
};
};
sonarr = {
enable = true;
settings = {
server.port = 8989;
auth.method = "External";
};
};
bazarr = { # /var/lib/bazarr
enable = true;
listenPort = 6767;
};
caddy.virtualHosts = {
"http://bazarr.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local :${toString config.services.bazarr.listenPort}
'';
"http://prowlarr.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local :${toString config.services.prowlarr.settings.server.port}
'';
"http://radarr.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local :${toString config.services.radarr.settings.server.port}
'';
"http://sonarr.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local :${toString config.services.sonarr.settings.server.port}
'';
"http://lidarr.internal".extraConfig = ''
@local remote_ip private_ranges 100.64.0.0/10
reverse_proxy @local :${toString config.services.lidarr.settings.server.port}
'';
};
borgbackup.jobs."borgbase" = {
paths = [
config.services.lidarr.dataDir
config.services.sonarr.dataDir
config.services.radarr.dataDir
"/var/lib/bazarr"
"/var/lib/private/prowlarr"
];
exclude = [
"${config.services.lidarr.dataDir}/MediaCover"
"${config.services.sonarr.dataDir}/MediaCover"
"${config.services.radarr.dataDir}/MediaCover"
];
};
};
}