← Back to Blog

How to Self-Host Apache Guacamole on a VPS (2026)

Published May 3, 2026 · 7 min read · Galaxy Cloud Solutions

Apache Guacamole is a clientless remote desktop gateway. You can access any machine — Windows via RDP, Linux via SSH, or anything with VNC — directly from a browser tab. No software to install on the client side, no VPN required. It is one of the more useful things you can run on a VPS.

⚡ Deploy a VPS from $10/mo — Use code LAUNCH2026 for 50% off

What You Need

Step 1: Install Docker

curl -fsSL https://get.docker.com | bash
sudo systemctl enable --now docker

Step 2: Create docker-compose.yml

mkdir -p ~/guacamole && cd ~/guacamole
cat > docker-compose.yml << 'EOF'
version: '3'
services:
  guacd:
    image: guacamole/guacd
    restart: unless-stopped
  guacamole-db:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_USER: guacamole_user
      POSTGRES_PASSWORD: changeme
      POSTGRES_DB: guacamole_db
  guacamole:
    image: guacamole/guacamole
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRES_HOSTNAME: guacamole-db
      POSTGRES_DATABASE: guacamole_db
      POSTGRES_USER: guacamole_user
      POSTGRES_PASSWORD: changeme
    depends_on:
      - guacd
      - guacamole-db
EOF

Step 3: Initialize the Database

docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgresql > initdb.sql
docker compose up -d
sleep 15
docker exec $(docker ps -qf name=guacamole-db) psql -U guacamole_user -d guacamole_db -f /dev/stdin < initdb.sql

Step 4: Access the UI

Guacamole runs on port 8080. Open via SSH tunnel:

ssh -p YOUR_SSH_PORT -L 8080:localhost:8080 [email protected]

Open http://localhost:8080/guacamole and log in with guacadmin / guacadmin. Change this password immediately.

Adding Connections

Go to Settings → Connections → New Connection. For SSH, set protocol to SSH, enter the hostname and port 22. You get a full terminal in your browser tab.

Use Cases

One-click Guacamole installer included

Galaxy Cloud Solutions Nebula 2 plan (2GB RAM) handles Guacamole fine. One-click installer in the dashboard. Use code LAUNCH2026 for 50% off your first month.

Get Started