From 914b545af1fbc9d00680b14b98cbc0423e3f78af Mon Sep 17 00:00:00 2001 From: baritone Date: Thu, 6 Mar 2025 14:49:59 +0100 Subject: [PATCH] auto torrenting --- services/auto-torrent.nix | 79 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 6 deletions(-) diff --git a/services/auto-torrent.nix b/services/auto-torrent.nix index 45eafdf..19e374a 100644 --- a/services/auto-torrent.nix +++ b/services/auto-torrent.nix @@ -34,6 +34,9 @@ in { } ]; + # 1gb of memory + microvm.mem = 1024; + microvm.shares = [ { tag = "ro-store"; @@ -147,8 +150,10 @@ in { }; # Sleep them for a while to make sure everything is set up - systemd.services.sonarr.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 5"; - systemd.services.rutorrent.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 5"; + systemd.services.sonarr.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 1"; + systemd.services.radarr.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 1"; + systemd.services.jackett.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 1"; + systemd.services.rutorrent.serviceConfig.ExecStartPre = "/run/current-system/sw/bin/sleep 1"; # fuck nano programs.nano.enable = lib.mkForce false; @@ -162,14 +167,29 @@ in { }; services.radarr = { enable = true; - openFirewall = false; + openFirewall = true; dataDir = "/mnt/radarr"; }; + # services.prowlarr = { + # enable = true; + # openFirewall = true; + # }; + # Prowlarr doesnt have a dataDir option + # systemd.services.prowlarr.serviceConfig.ExecStart = pkgs.lib.mkForce "${lib.getExe pkgs.prowlarr} -nobrowser -data=/mnt/prowlarr"; + + services.jackett = { + enable = true; + dataDir = "/mnt/jackett"; + openFirewall = true; + }; services.transmission = { enable = true; openFirewall = false; settings.rpc-port = 9091; + settings.download-dir = "/mnt/transmission"; + settings.incomplete-dir = "/mnt/transmission/.incomplete"; + downloadDirPermissions = "775"; }; # debugging @@ -189,12 +209,13 @@ in { }; }; + # Sonarr services.nginx.virtualHosts."sonarr.spoodythe.one" = { addSSL = true; enableACME = true; listen = [ { - port = 8989; + inherit port; addr = "0.0.0.0"; ssl = false; } @@ -209,6 +230,52 @@ in { }; }; - networking.firewall.allowedTCPPorts = [port 80 433]; - networking.firewall.allowedUDPPorts = [port 80 433]; + # Radarr + services.nginx.virtualHosts."radarr.spoodythe.one" = let + port = 7878; + in { + addSSL = true; + enableACME = true; + listen = [ + { + inherit port; + addr = "0.0.0.0"; + ssl = false; + } + { + port = 443; + addr = "0.0.0.0"; + ssl = true; + } + ]; + locations."/" = { + proxyPass = "http://${host}:${toString port}"; + }; + }; + + # Jackett + services.nginx.virtualHosts."jackett.spoodythe.one" = let + port = 9117; + in { + addSSL = true; + enableACME = true; + listen = [ + { + inherit port; + addr = "0.0.0.0"; + ssl = false; + } + { + port = 443; + addr = "0.0.0.0"; + ssl = true; + } + ]; + locations."/" = { + proxyPass = "http://${host}:${toString port}"; + }; + }; + + networking.firewall.allowedTCPPorts = [port 7979 9696 80 433]; + networking.firewall.allowedUDPPorts = [port 7979 9696 80 433]; }