forked from clan/clan-core
32 lines
707 B
Nix
32 lines
707 B
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
options.clan.zt-tcp-relay = {
|
|
port = lib.mkOption {
|
|
type = lib.types.port;
|
|
default = 4443;
|
|
description = "Port to listen on";
|
|
};
|
|
};
|
|
config = {
|
|
networking.firewall.allowedTCPPorts = [ config.clan.zt-tcp-relay.port ];
|
|
|
|
systemd.services.zt-tcp-relay = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${
|
|
pkgs.callPackage ../pkgs/zt-tcp-relay { }
|
|
}/bin/zt-tcp-relay --listen [::]:${builtins.toString config.clan.zt-tcp-relay.port}";
|
|
Restart = "always";
|
|
RestartSec = "5";
|
|
dynamicUsers = true;
|
|
};
|
|
};
|
|
};
|
|
}
|