44 lines
1018 B
Nix
44 lines
1018 B
Nix
{ lib, config, ... }:
|
|
|
|
let
|
|
domain = "httra.giugl.io";
|
|
network = import ./network.nix;
|
|
in {
|
|
services = {
|
|
transmission = {
|
|
enable = true;
|
|
group = "media";
|
|
settings = {
|
|
download-dir = "/media/transmission";
|
|
incomplete-dir = "/media/transmission/.incomplete";
|
|
rpc-host-whitelist = "${domain}";
|
|
encryption = 2;
|
|
speed-limit-up = 10;
|
|
speed-limit-up-enabled = true;
|
|
peer-port = 51413;
|
|
};
|
|
performanceNetParameters = true;
|
|
};
|
|
|
|
nginx.virtualHosts.${domain} = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://localhost:9091";
|
|
extraConfig = ''
|
|
allow 10.0.0.0/24;
|
|
${lib.concatMapStrings (x: "allow ${x};") network.gdevices-wg}
|
|
deny all;
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
networking.extraHosts = ''
|
|
${network.architect-lan} ${domain}
|
|
${network.architect-wg} ${domain}
|
|
'';
|
|
|
|
users.groups.media.members = [ "transmission" ];
|
|
}
|