diff --git a/configuration.nix b/configuration.nix index 0be3ed7..3b0ac94 100644 --- a/configuration.nix +++ b/configuration.nix @@ -35,11 +35,14 @@ ./services/arr/prowlarr.nix ./services/arr/sonarr.nix + ./services/arr/radarr.nix ./services/arr/prowlarr.nix ./services/arr/sonarr.nix + ./services/arr/radarr.nix ./services/arr/sonarr.nix ./services/arr/radarr.nix + ./services/arr/radarr.nix ./services/arr/bazarr.nix ./services/arr/jellyseerr.nix ./services/arr/recyclarr.nix diff --git a/flake.nix b/flake.nix index 1744fde..7e7bea2 100644 --- a/flake.nix +++ b/flake.nix @@ -127,6 +127,7 @@ lk_jwt = 8081; prowlarr = 9696; sonarr = 8989; + radarr = 7878; }; https = { @@ -202,6 +203,10 @@ sonarr = { dataDir = services_dir + "/sonarr"; }; + + radarr = { + dataDir = services_dir + "/radarr"; + }; }; }; diff --git a/services/arr/radarr.nix b/services/arr/radarr.nix new file mode 100644 index 0000000..fbd20e6 --- /dev/null +++ b/services/arr/radarr.nix @@ -0,0 +1,36 @@ +{ + pkgs, + config, + service_configs, + lib, + ... +}: +{ + imports = [ + (lib.serviceMountWithZpool "radarr" service_configs.zpool_ssds [ + service_configs.radarr.dataDir + ]) + (lib.serviceMountWithZpool "radarr" service_configs.zpool_hdds [ + service_configs.torrents_path + ]) + (lib.serviceFilePerms "radarr" [ + "Z ${service_configs.radarr.dataDir} 0700 ${config.services.radarr.user} ${config.services.radarr.group}" + ]) + ]; + + services.radarr = { + enable = true; + dataDir = service_configs.radarr.dataDir; + settings.server.port = service_configs.ports.radarr; + settings.update.mechanism = "external"; + }; + + services.caddy.virtualHosts."radarr.${service_configs.https.domain}".extraConfig = '' + import ${config.age.secrets.caddy_auth.path} + reverse_proxy :${builtins.toString service_configs.ports.radarr} + ''; + + users.users.${config.services.radarr.user}.extraGroups = [ + service_configs.media_group + ]; +}