add vpn and transmission

This commit is contained in:
nicknase27
2026-07-26 14:26:19 +02:00
parent f9810da223
commit 82db9dd9cf
6 changed files with 81 additions and 1 deletions
+59
View File
@@ -0,0 +1,59 @@
{
pkgs,
lib,
config,
inputs,
...
}: {
# Define VPN network namespace
vpnNamespaces.wg0 = {
enable = true;
wireguardConfigFile = "${config.age.secrets.wg0.path}";
accessibleFrom = [
"10.0.0.0/24"
];
portMappings = [
{
from = 9091;
to = 9091;
}
];
openVPNPorts = [
{
port = 51413;
protocol = "both";
}
];
};
systemd.services.transmission = {
vpnConfinement = {
enable = true;
vpnNamespace = "wg0";
};
wants = ["wg0.service"];
after = ["wg0.service"];
partOf = ["wg0.service"];
serviceConfig = {
Restart = "always";
RestartSec = 5;
};
};
services.transmission = {
enable = true;
settings = {
"rpc-bind-address" = "0.0.0.0"; # Bind RPC/WebUI to VPN network namespace address
"rpc-whitelist-enabled" = false;
"rpc-whitelist" = "10.0.0.*,127.0.0.1";
download-dir = "/mnt/media/downloads";
incomplete-dir-enabled = false;
};
};
age.secrets.wg0 = {
file = ../../secrets/wg0.age;
path = "/run/secrets/wg0.conf";
};
}