feat: route Coolify terminal WebSocket to Soketi port 6002

- Move /terminal/ws routing from main Coolify container to Soketi
- Configure Traefik to route terminal WebSocket traffic to port 6002
- Add high priority (100) to ensure path matching
- Based on official Coolify docker-compose.prod.yml configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-17 13:04:08 +01:00
parent 27c3218784
commit d90f0179df

View File

@@ -144,13 +144,6 @@ 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 - map to port 6002
- "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-terminal"
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-coolify-terminal.loadbalancer.server.port=6002"
# Network
- "traefik.docker.network=${NETWORK_NAME}"
# Watchtower
@@ -183,6 +176,14 @@ services:
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-web-secure.entrypoints=web-secure"
# Service
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-soketi-web-secure.loadbalancer.server.port=6001"
# Terminal WebSocket - route /terminal/ws to port 6002 on Soketi
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.rule=Host(`${DEV_COOLIFY_TRAEFIK_HOST}`) && PathPrefix(`/terminal/ws`)"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.entrypoints=web-secure"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.tls.certresolver=resolver"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.priority=100"
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.service=${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal"
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-soketi-terminal.loadbalancer.server.port=6002"
# Network
- "traefik.docker.network=${NETWORK_NAME}"
# Watchtower
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"