Nixconfigs/modules/servermodules/arr/arr.nix
2025-12-14 20:46:27 +01:00

70 lines
1.3 KiB
Nix

{ pkgs, config, ... }:
let
mediaGroup = "media";
in
{
users.users.torrenter = {
isSystemUser = true;
group = "${mediaGroup}";
};
users.groups.${mediaGroup} = {
members = [
"ren"
"prowlarr"
"radarr"
];
};
age.secrets.vpn = {
file = ../../../keys/scribe;
owner = "ren";
};
services.openvpn.servers = {
officeVPN = {
config = ''config ${config.age.secrets.vpn.path} '';
};
};
networking.firewall.trustedInterfaces = [ "wg-selene" ];
networking.firewall.allowedUDPPorts = [ 23379 ];
networking.firewall.allowedTCPPorts = [ 23379 ];
networking.firewall.checkReversePath = false;
services.prowlarr.enable = true;
services.deluge = {
enable = true;
web.enable = true;
user = "torrenter";
group = mediaGroup;
};
services.radarr = {
enable = true;
group = mediaGroup;
openFirewall = false;
};
services.sonarr = {
enable = true;
group = mediaGroup;
openFirewall = false;
};
services.bazarr = {
enable = true;
group = mediaGroup;
openFirewall = false;
};
environment.systemPackages = [
pkgs.flood-for-transmission
];
systemd.tmpfiles.rules = [
"d /mnt/scratch/torrents 0775 torrenter media -"
"d /mnt/scratch/torrents/.incomplete 0775 torrenter media -"
];
}