# Heady Remote Access - Lean Docker Compose # Separates concerns: official guacd + minimal FastAPI services: heady-remote-access: build: . container_name: heady-remote-access restart: unless-stopped environment: - GUACD_HOST=heady-guacd - GUACD_PORT=4822 - HEADPLANE_API_URL=http://headplane:3000 - JWT_SECRET=${JWT_SECRET:-your-secret-key} - JWT_ALGORITHM=HS256 expose: - "8000" depends_on: - heady-guacd networks: - heady-network labels: # Caddy integration for reverse proxy caddy: remote.${HEADY_DOMAIN:-localhost} caddy.reverse_proxy: "{{upstreams http 8000}}" caddy.@ws.header: Connection *Upgrade* caddy.@ws.header_1: Upgrade websocket caddy.reverse_proxy.@ws: "{{upstreams http 8000}}" heady-guacd: image: guacamole/guacd:latest container_name: heady-guacd restart: unless-stopped environment: - GUACD_LOG_LEVEL=${GUACD_LOG_LEVEL:-info} expose: - "4822" volumes: # Recording storage - ./recordings:/recordings:rw # Drive access (optional) - ./drive:/drive:rw networks: - heady-network networks: heady-network: driver: bridge volumes: recordings: drive: