From 827655f87d99a1c88d64bdc2a1ea6cdc768c0b55 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Wed, 10 May 2023 20:03:29 -0700 Subject: profiles/seedbox: move transmission to it Note that this is not used by anything yet, as a password needs to be set first. --- modules/services/default.nix | 1 - modules/services/transmission/default.nix | 62 ------------------------------- profiles/seedbox.nix | 49 ++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 63 deletions(-) delete mode 100644 modules/services/transmission/default.nix create mode 100644 profiles/seedbox.nix diff --git a/modules/services/default.nix b/modules/services/default.nix index 2cf7f86..531ce7b 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -6,6 +6,5 @@ ./monitoring ./sendsms ./syncthing - ./transmission ]; } diff --git a/modules/services/transmission/default.nix b/modules/services/transmission/default.nix deleted file mode 100644 index 43c4675..0000000 --- a/modules/services/transmission/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.my.services.transmission; - secrets = config.age.secrets; -in -{ - options.my.services.transmission = with lib; { - enable = mkEnableOption "transmission torrent server"; - vhostName = mkOption { - type = types.str; - example = "music.fcuny.net"; - description = "Name for the virtual host"; - }; - }; - - config = lib.mkIf cfg.enable { - services.transmission = { - enable = true; - group = "nas"; - performanceNetParameters = true; - home = "/data/fast/torrents"; - settings = { - dht-enabled = false; - cache-size-mb = 128; - peer-port = 52213; - peer-port-random-low = 49152; - peer-port-random-high = 65535; - message-level = 2; - - rpc-enabled = true; - rpc-host-whitelist-enabled = false; - verify-threads = 4; - }; - }; - - services.nginx.virtualHosts."${cfg.vhostName}" = { - forceSSL = true; - useACMEHost = config.homelab.domain; - listen = [ - { - addr = "192.168.6.40"; - port = 443; - ssl = true; - } - { - addr = "192.168.6.40"; - port = 80; - ssl = false; - } - ]; - locations."/" = { - proxyPass = "http://127.0.0.1:9091"; - proxyWebsockets = true; - }; - }; - - networking.firewall = { - allowedTCPPorts = [ 52213 ]; - allowedUDPPorts = [ 52213 ]; - }; - }; -} diff --git a/profiles/seedbox.nix b/profiles/seedbox.nix new file mode 100644 index 0000000..9825a44 --- /dev/null +++ b/profiles/seedbox.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: +let + secrets = config.age.secrets; + vhostName = "bt.${config.homelab.domain}"; +in +{ + + # https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/torrent/transmission.nix + services.transmission = { + enable = true; + group = "nas"; + performanceNetParameters = true; + home = "/data/fast/torrents"; + openPeerPorts = true; + settings = { + dht-enabled = false; + cache-size-mb = 128; + peer-port = 52213; + peer-port-random-low = 49152; + peer-port-random-high = 65535; + message-level = 2; + + rpc-enabled = true; + rpc-host-whitelist-enabled = false; + verify-threads = 4; + }; + }; + + services.nginx.virtualHosts."${vhostName}" = { + forceSSL = true; + useACMEHost = config.homelab.domain; + listen = [ + { + addr = "192.168.6.40"; + port = 443; + ssl = true; + } + { + addr = "192.168.6.40"; + port = 80; + ssl = false; + } + ]; + locations."/" = { + proxyPass = "http://127.0.0.1:9091"; + proxyWebsockets = true; + }; + }; +} -- cgit 1.4.1