Guacamole Remote Desktop
Guacamole runs in Docker and connects to the host XFCE desktop through local xrdp.
- Public URL:
https://remote.sherlockhomeless.net/ - External protection: Traefik + Authentik middleware
- RDP is not opened in
firewalldpublic zone - Backend RDP target:
host.docker.internal:3389
Use a local host account that is allowed to start an XRDP session.
Qué hace y arquitectura
Apache Guacamole ofrece escritorio remoto desde el navegador. guacamole gestiona usuarios y conexiones, guacd traduce el protocolo web a RDP y PostgreSQL conserva la configuración. Sólo la aplicación web llega a proxy; guacd y PostgreSQL permanecen en la red interna.
Configuración
GUACAMOLE_DOMAINdefine el acceso publicado por Traefik.GUACAMOLE_DB_*debe coincidir en PostgreSQL y Guacamole.GUACAMOLE_DATA_PATHpersiste la base;initdbsólo inicializa una base vacía.host.docker.internalse fija a10.0.4.1para alcanzar XRDP del host. Si cambia la IP del bridge/host, actualiza ambos servicios.WEBAPP_CONTEXT=ROOTelimina el prefijo/guacamole.
Authentik protege el perímetro, pero Guacamole mantiene sus propios usuarios y permisos sobre conexiones. Evita cuentas compartidas y no publiques el puerto RDP en la zona pública.
Despliegue
cd guacamole
docker compose --env-file .env config
docker compose --env-file .env up -d