fix: add dedicated router for terminal WebSocket without compression

The terminal WebSocket is served by main Coolify on port 8080.
Create separate router with priority 100 for /terminal/ws path
without compression middleware which blocks WebSocket upgrades.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-17 12:56:34 +01:00
parent 4dee03dd86
commit 1af4ec5fca

View File

@@ -144,13 +144,12 @@ services:
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-web-secure.middlewares=${DEV_COMPOSE_PROJECT_NAME}-coolify-web-secure-compress,security-headers@file"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-web-secure.service=${DEV_COMPOSE_PROJECT_NAME}-coolify"
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-coolify.loadbalancer.server.port=8080"
# Terminal WebSocket - HTTPS router (route to Soketi container)
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal-ws.rule=Host(`${DEV_COOLIFY_TRAEFIK_HOST}`) && PathPrefix(`/terminal/ws`)"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal-ws.entrypoints=web-secure"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal-ws.tls.certresolver=resolver"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal-ws.priority=100"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal-ws.service=${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal"
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.loadbalancer.server.url=http://dev_coolify_soketi:6001"
# Terminal WebSocket - separate router without compression (higher priority)
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.rule=Host(`${DEV_COOLIFY_TRAEFIK_HOST}`) && PathPrefix(`/terminal/ws`)"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.entrypoints=web-secure"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.tls.certresolver=resolver"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.priority=100"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.service=${DEV_COMPOSE_PROJECT_NAME}-coolify"
# Network
- "traefik.docker.network=${NETWORK_NAME}"
# Watchtower