From 65a8fcb16329017a2d5de66584304ce5d08cc8b9 Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Fri, 22 May 2026 21:30:14 +0100 Subject: [PATCH] Publish noVNC on host:16080 to bypass WS-stripping reverse proxy The upstream openresty proxy in front of Dokploy strips the WebSocket Upgrade header, which kills noVNC. Publishing noVNC directly on a host port (16080) avoids the proxy entirely. Auth is still gated by VNC_PASSWORD. The dashboard continues to go through Traefik on its existing domain. Co-Authored-By: Claude Opus 4.7 --- docker-compose.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 622d0aa..514f424 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,11 +15,14 @@ services: # path on every restart. volumes: - reddit_bot_data:/app/data - # Ports are NOT published to the host. Dokploy/Traefik routes traffic - # to the container's internal ports via configured domains. + # Dashboard goes through Traefik on a domain; noVNC needs the WebSocket + # upgrade header, which the upstream openresty proxy strips, so we + # publish noVNC directly on a host port and access it via the dokploy + # host's IP. Auth is handled by VNC_PASSWORD. + ports: + - "16080:6080" # noVNC, reachable as http://:16080/ expose: - - "3000" # Web dashboard - - "6080" # noVNC for human login + - "3000" # Web dashboard (Traefik-routed) environment: - OPENROUTER_API_KEY=${OPENROUTER_API_KEY} - REDDIT_USERNAME=${REDDIT_USERNAME}