48 lines
1014 B
Nix
48 lines
1014 B
Nix
{
|
|
pkgs,
|
|
service_configs,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
vpnNamespaces.wg = {
|
|
portMappings = [
|
|
{
|
|
from = service_configs.ports.bitmagnet;
|
|
to = service_configs.ports.bitmagnet;
|
|
}
|
|
];
|
|
|
|
openVPNPorts = [
|
|
{
|
|
port = service_configs.ports.bitmagnet;
|
|
protocol = "both";
|
|
}
|
|
];
|
|
};
|
|
|
|
services.bitmagnet = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
postgres = {
|
|
host = service_configs.postgres.socket;
|
|
};
|
|
http_server = {
|
|
# TODO! make issue about this being a string and not a `port` type
|
|
port = ":" + (builtins.toString service_configs.ports.bitmagnet);
|
|
};
|
|
};
|
|
};
|
|
|
|
services.caddy.virtualHosts."bitmagnet.${service_configs.https.domain}".extraConfig = ''
|
|
${builtins.readFile ../secrets/caddy_auth}
|
|
reverse_proxy ${service_configs.https.wg_ip}:${builtins.toString service_configs.ports.bitmagnet}
|
|
'';
|
|
|
|
systemd.services.bitmagnet.vpnConfinement = {
|
|
enable = true;
|
|
vpnNamespace = "wg";
|
|
};
|
|
}
|