2025-06-25 23:32:46 +02:00
|
|
|
{ config, pkgs, ... }:
|
2025-06-24 16:33:31 +02:00
|
|
|
{
|
|
|
|
|
services = {
|
|
|
|
|
guacamole-server = {
|
2025-06-25 23:32:46 +02:00
|
|
|
enable = false;
|
|
|
|
|
package = pkgs.guacamole-server;
|
2025-06-24 16:33:31 +02:00
|
|
|
host = "127.0.0.1";
|
|
|
|
|
port = 4822;
|
|
|
|
|
userMappingXml = ./guacamole-user-mapping.xml;
|
|
|
|
|
};
|
|
|
|
|
guacamole-client = {
|
2025-06-25 23:32:46 +02:00
|
|
|
enable = false;
|
|
|
|
|
package = pkgs.guacamole-client;
|
|
|
|
|
enableWebserver = false;
|
2025-06-24 16:33:31 +02:00
|
|
|
settings = {
|
|
|
|
|
guacd-port = 4822;
|
|
|
|
|
guacd-hostname = "localhost";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
anubis.instances.guacamole = {
|
|
|
|
|
settings = {
|
|
|
|
|
TARGET = "http://localhost:4822";
|
|
|
|
|
BIND = ":4883";
|
|
|
|
|
BIND_NETWORK = "tcp";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
nginx.virtualHosts."remote.liv.town" = {
|
|
|
|
|
forceSSL = true;
|
|
|
|
|
sslCertificate = "/var/lib/acme/liv.town/cert.pem";
|
|
|
|
|
sslCertificateKey = "/var/lib/acme/liv.town/key.pem";
|
|
|
|
|
locations."/" = {
|
|
|
|
|
proxyPass = "http://localhost${toString config.services.anubis.instances.guacamole.settings.BIND}";
|
|
|
|
|
proxyWebsockets = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|