diff --git a/modules/services/default.nix b/modules/services/default.nix index a842fc3..91f4d0e 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./gitea ./immich + ./prowlarr ./radarr ./sonarr ]; diff --git a/modules/services/prowlarr/default.nix b/modules/services/prowlarr/default.nix new file mode 100644 index 0000000..7b53817 --- /dev/null +++ b/modules/services/prowlarr/default.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf; + + cfg = config.pepe.services.prowlarr; +in +{ + options.pepe.services.prowlarr = with lib; { + enable = mkEnableOption "Enable prowlarr"; + package = mkPackageOption pkgs "prowlarr" { }; + domain = mkOption { + type = types.str; + default = null; + }; + }; + + config = mkIf cfg.enable { + services.prowlarr = { + enable = true; + package = cfg.package; + }; + + architect.vhost.${cfg.domain} = with config.architect.networks; { + dnsInterfaces = [ "tailscale" "lan" ]; + locations."/" = { + port = 9696; + allowLan = true; + proxyWebsockets = true; + allow = [ + tailscale.net + ]; + }; + }; + + pepe.core.media.groupMembers = mkIf config.pepe.core.media.enable [ "prowlarr" ]; + }; +}