Apache Guacamole
Clientless remote desktop gateway supporting VNC, RDP, and SSH through a web browser. No plugins or client software needed — just a URL and a browser
Quick Start
docker compose up -d Overview
Apache Guacamole is a clientless remote desktop gateway. Install it on a server, point it at your machines, and anyone with a browser and the right credentials can connect via VNC, RDP, or SSH — no software installation, no VPN client, no browser extension required.
The use case that makes it genuinely useful: you have a collection of servers and desktops that you or your team need to reach remotely. Instead of maintaining a VPN for every user and configuring native clients on every device, you deploy one Guacamole instance and point everyone at a URL. Authentication, connection management, and optional session recording all happen centrally.
Setup involves two Docker containers — the guacd daemon that speaks the remote desktop protocols, and the guacamole web application — plus a database for storing connection and user data. It is more involved than a single-container deploy, but well-documented.
The honest limitations: the web-based experience has noticeable latency compared to a native RDP or VNC client, especially for graphical work. For text-heavy SSH work this is rarely an issue; for anything involving video, image editing, or fluid UI interaction, a native client will always feel better. The UI is also functional rather than polished — Guacamole has been around since 2010 and the interface reflects its age. For access management and auditing rather than daily power use, those trade-offs are generally acceptable.
Use Cases
Specific ways to use Apache Guacamole for your workflow.
Deployment Strategy
Recommended ways to host Apache Guacamole in your own environment.