feat: add dedicated terminal service on port 6002 with path stripping
This commit is contained in:
@@ -149,7 +149,7 @@ services:
|
|||||||
# Watchtower
|
# Watchtower
|
||||||
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
|
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
|
||||||
|
|
||||||
# Coolify Soketi (WebSocket server)
|
# Coolify Soketi (WebSocket server for realtime)
|
||||||
coolify_soketi:
|
coolify_soketi:
|
||||||
image: quay.io/soketi/soketi:1.0-16-alpine
|
image: quay.io/soketi/soketi:1.0-16-alpine
|
||||||
container_name: ${DEV_COMPOSE_PROJECT_NAME}_coolify_soketi
|
container_name: ${DEV_COMPOSE_PROJECT_NAME}_coolify_soketi
|
||||||
@@ -180,6 +180,38 @@ services:
|
|||||||
# Watchtower
|
# Watchtower
|
||||||
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
|
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
|
||||||
|
|
||||||
|
# Coolify Terminal (WebSocket server on port 6002 for terminal)
|
||||||
|
coolify_terminal:
|
||||||
|
image: ${DEV_COOLIFY_REALTIME_IMAGE:-ghcr.io/coollabsio/coolify-realtime:1.0.10}
|
||||||
|
container_name: ${DEV_COMPOSE_PROJECT_NAME}_coolify_terminal
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- SOKETI_DEFAULT_APP_ID=${DEV_COOLIFY_PUSHER_APP_ID}
|
||||||
|
- SOKETI_DEFAULT_APP_KEY=${DEV_COOLIFY_PUSHER_APP_KEY}
|
||||||
|
- SOKETI_DEFAULT_APP_SECRET=${DEV_COOLIFY_PUSHER_APP_SECRET}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:6002/ready"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
networks:
|
||||||
|
- compose_network
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=${DEV_TRAEFIK_ENABLED}"
|
||||||
|
# Strip /terminal prefix
|
||||||
|
- "traefik.http.middlewares.${DEV_COMPOSE_PROJECT_NAME}-terminal-strip.stripprefix.prefixes=/terminal"
|
||||||
|
# HTTPS router
|
||||||
|
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-terminal.rule=Host(`${DEV_COOLIFY_TRAEFIK_HOST}`) && PathPrefix(`/terminal/ws`)"
|
||||||
|
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-terminal.entrypoints=web-secure"
|
||||||
|
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-terminal.tls.certresolver=resolver"
|
||||||
|
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-terminal.priority=100"
|
||||||
|
- "traefik.http.routers.${DEV_COMPOSE_PROJECT_NAME}-terminal.middlewares=${DEV_COMPOSE_PROJECT_NAME}-terminal-strip"
|
||||||
|
# Service
|
||||||
|
- "traefik.http.services.${DEV_COMPOSE_PROJECT_NAME}-terminal.loadbalancer.server.port=6002"
|
||||||
|
- "traefik.docker.network=${NETWORK_NAME}"
|
||||||
|
# Watchtower
|
||||||
|
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
|
||||||
|
|
||||||
# n8n - Workflow automation platform
|
# n8n - Workflow automation platform
|
||||||
n8n:
|
n8n:
|
||||||
image: ${DEV_N8N_IMAGE:-docker.n8n.io/n8nio/n8n}
|
image: ${DEV_N8N_IMAGE:-docker.n8n.io/n8nio/n8n}
|
||||||
|
|||||||
Reference in New Issue
Block a user