about summary refs log tree commit diff
path: root/profiles/seedbox.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-05-10 20:03:29 -0700
committerFranck Cuny <franck@fcuny.net>2023-05-10 20:03:29 -0700
commit827655f87d99a1c88d64bdc2a1ea6cdc768c0b55 (patch)
tree94e07c026124c4721a3bf4aa0153378bb1a08bad /profiles/seedbox.nix
parentprofiles/samba: fix variable (diff)
downloadworld-827655f87d99a1c88d64bdc2a1ea6cdc768c0b55.tar.gz
profiles/seedbox: move transmission to it
Note that this is not used by anything yet, as a password needs to be
set first.
Diffstat (limited to 'profiles/seedbox.nix')
-rw-r--r--profiles/seedbox.nix49
1 files changed, 49 insertions, 0 deletions
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;
+    };
+  };
+}