diff --git a/README.md b/README.md index a68f7dc..3aa6453 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Secondly, take care of a few manual steps: * Configure Gitea and Drone * Configure Lohr webhook and SSH key * Configure Jellyfin -* Configure Jackett and NZBHydra2 +* Configure Prowlarr,Jackett and NZBHydra2 * Configure Sonarr, Radarr, Bazarr * Configure Transmission's webui port * Configure Quassel user diff --git a/flake.lock b/flake.lock index b668797..9d368ca 100644 --- a/flake.lock +++ b/flake.lock @@ -44,11 +44,11 @@ ] }, "locked": { - "lastModified": 1633296444, - "narHash": "sha256-DnC7yVyoYFSsvFze16AWDa5iSHgtT1MbDGgp8rSC3H4=", + "lastModified": 1634230035, + "narHash": "sha256-tS0dyWxVgb79Jk8elMthWv/oycj/Q4HHDoNL5V43kz8=", "owner": "nix-community", "repo": "home-manager", - "rev": "099cbcf13e8219f07b493980a66fe64df0e32d09", + "rev": "309808afbc2a07e340067f66029a4202b4c4b959", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1633263894, - "narHash": "sha256-InuWViZr3SL8PqRROkWhmSd3N8gGkiP7YaA7BRdjmhk=", + "lastModified": 1634172192, + "narHash": "sha256-FBF4U/T+bMg4sEyT/zkgasvVquGzgdAf4y8uCosKMmo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "01f2f2842aaa7f3af957fef93439d639e6941e6c", + "rev": "2cf9db0e3d45b9d00f16f2836cb1297bcadc475e", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nur": { "locked": { - "lastModified": 1633342505, - "narHash": "sha256-UgXnO+jX6V33mtbFgQKPLndNQid1DqOnMcsPlxqeWdk=", + "lastModified": 1634283744, + "narHash": "sha256-XqRqt1RbEz6MAO1ZkAkcjNZTJCOJ+3LJJ2JWyEkUXsQ=", "owner": "nix-community", "repo": "NUR", - "rev": "061e44abde1dc11b10ff93fe6a388272850f473c", + "rev": "2dbf2b986c523b728ead324baaba9e0d28322557", "type": "github" }, "original": { @@ -100,11 +100,11 @@ ] }, "locked": { - "lastModified": 1631170176, - "narHash": "sha256-RLN/kur2Kpxt0cJp0Fms8ixuGpT8IHX0OpeQ8u8f0X4=", + "lastModified": 1633788342, + "narHash": "sha256-wx+aRtR5FwbMOV/0N3PSC4au92aXl6tfwHOk4xgYXRQ=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "3ed0e618cebc1ff291c27b749cf7568959cac028", + "rev": "475b1f7f7ddcb6415e6624a68c4fe90f55ee9e73", "type": "github" }, "original": { diff --git a/machines/porthos/services.nix b/machines/porthos/services.nix index b03977d..07cf8eb 100644 --- a/machines/porthos/services.nix +++ b/machines/porthos/services.nix @@ -44,6 +44,7 @@ in indexers = { jackett.enable = true; nzbhydra.enable = true; + prowlarr.enable = true; }; # Jellyfin media server jellyfin.enable = true; diff --git a/modules/services/indexers/default.nix b/modules/services/indexers/default.nix index 6ee32c0..66f1604 100644 --- a/modules/services/indexers/default.nix +++ b/modules/services/indexers/default.nix @@ -5,39 +5,61 @@ let jackettPort = 9117; nzbhydraPort = 5076; + prowlarrPort = 9696; in { options.my.services.indexers = with lib; { jackett.enable = mkEnableOption "Jackett torrent meta-indexer"; - nzbhydra.enable = mkEnableOption "NZBHydra2 torrent meta-indexer"; + nzbhydra.enable = mkEnableOption "NZBHydra2 usenet meta-indexer"; + prowlarr.enable = mkEnableOption "Prowlarr torrent & usenet meta-indexer"; }; - config = { - services.jackett = lib.mkIf cfg.jackett.enable { - enable = true; - }; - - # Jackett wants to eat *all* my RAM if left to its own devices - systemd.services.jackett = { - serviceConfig = { - MemoryHigh = "15%"; - MemoryMax = "25%"; + config = lib.mkMerge [ + (lib.mkIf cfg.jackett.enable { + services.jackett = { + enable = true; }; - }; - services.nzbhydra2 = lib.mkIf cfg.nzbhydra.enable { - enable = true; - }; + # Jackett wants to eat *all* my RAM if left to its own devices + systemd.services.jackett = { + serviceConfig = { + MemoryHigh = "15%"; + MemoryMax = "25%"; + }; + }; - my.services.nginx.virtualHosts = [ - { - subdomain = "jackett"; - port = jackettPort; - } - { - subdomain = "nzbhydra"; - port = nzbhydraPort; - } - ]; - }; + my.services.nginx.virtualHosts = [ + { + subdomain = "jackett"; + port = jackettPort; + } + ]; + }) + + (lib.mkIf cfg.nzbhydra.enable { + services.nzbhydra2 = { + enable = true; + }; + + my.services.nginx.virtualHosts = [ + { + subdomain = "nzbhydra"; + port = nzbhydraPort; + } + ]; + }) + + (lib.mkIf cfg.prowlarr.enable { + services.prowlarr = { + enable = true; + }; + + my.services.nginx.virtualHosts = [ + { + subdomain = "prowlarr"; + port = prowlarrPort; + } + ]; + }) + ]; }