aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/services/default.nix1
-rw-r--r--modules/services/transmission/default.nix62
-rw-r--r--profiles/seedbox.nix49
3 files changed, 49 insertions, 63 deletions
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;
+ };
+ };
+}