72 lines
2.0 KiB
Nix
72 lines
2.0 KiB
Nix
{ config, lib, ... }: {
|
|
|
|
options.sysconfig.opts.virtualization.rustdesk.enable = lib.options.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
};
|
|
|
|
config = lib.mkIf config.sysconfig.opts.virtualization.rustdesk.enable {
|
|
|
|
networking = {
|
|
firewall.allowedTCPPorts = [ 21115 21116 21117 ];
|
|
firewall.allowedUDPPorts = [ 21116 ];
|
|
};
|
|
containers.rustdesk = {
|
|
|
|
autoStart = true;
|
|
privateNetwork = true;
|
|
hostAddress = "192.168.100.10";
|
|
localAddress = "192.168.100.21";
|
|
forwardPorts = [
|
|
{
|
|
containerPort = 21115;
|
|
hostPort = 21115;
|
|
}
|
|
{
|
|
containerPort = 21116;
|
|
hostPort = 21116;
|
|
}
|
|
{
|
|
containerPort = 21117;
|
|
hostPort = 21117;
|
|
}
|
|
];
|
|
bindMounts = {
|
|
|
|
"/var/lib/key" = {
|
|
hostPath = "/ssd1/Rustdesk/key";
|
|
isReadOnly = false;
|
|
};
|
|
|
|
};
|
|
config = {
|
|
|
|
services.rustdesk-server = {
|
|
enable = true;
|
|
|
|
openFirewall = true;
|
|
|
|
relay = {
|
|
enable = true;
|
|
extraArgs = [
|
|
"-k"
|
|
"$(cat /var/lib/key/id_ed25519.pub)"
|
|
];
|
|
};
|
|
|
|
signal = {
|
|
enable = true;
|
|
relayHosts = [ "rustdesk.blunkall.us:21117" ];
|
|
extraArgs = [
|
|
"-k"
|
|
"$(cat /var/lib/key/id_ed25519.pub)"
|
|
];
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "24.05";
|
|
};
|
|
};
|
|
};
|
|
}
|