Files

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 firewalld public 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_DOMAIN define el acceso publicado por Traefik.
  • GUACAMOLE_DB_* debe coincidir en PostgreSQL y Guacamole.
  • GUACAMOLE_DATA_PATH persiste la base; initdb sólo inicializa una base vacía.
  • host.docker.internal se fija a 10.0.4.1 para alcanzar XRDP del host. Si cambia la IP del bridge/host, actualiza ambos servicios.
  • WEBAPP_CONTEXT=ROOT elimina 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