Agregar servidor MCP Docker al stack
All checks were successful
build-and-deploy / build (push) Successful in 8s
build-and-deploy / deploy (push) Successful in 10s

- Agregado servicio mcp-docker con imagen docker:cli
- Configurado MCP Gateway en modo streaming (puerto 8080)
- Expuesto a través de Traefik sin autenticación Authentik
- Montado socket de Docker en modo solo lectura
- Agregada variable MCP_DOMAIN al .env.example
- Actualizado README con documentación del servicio
This commit is contained in:
2025-10-13 18:48:02 -06:00
parent c54e18a878
commit aa5ac70c7c
3 changed files with 47 additions and 0 deletions

View File

@@ -48,6 +48,35 @@ services:
- "traefik.http.middlewares.${APP_NAME}-cors.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.${APP_NAME}-cors.headers.addvaryheader=true"
mcp-docker:
image: docker:cli
container_name: ${APP_NAME}-mcp-docker
restart: unless-stopped
command: mcp gateway run --port 8080 --transport streaming
volumes:
# Montar el socket de Docker para acceso al daemon
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- principal
- traefik-network
labels:
# Traefik labels - Exposición sin autenticación
- "traefik.enable=true"
- "traefik.docker.network=traefik-network"
# Service
- "traefik.http.services.${APP_NAME}-mcp.loadbalancer.server.port=8080"
# Router sin autenticación
- "traefik.http.routers.${APP_NAME}-mcp.rule=Host(`${MCP_DOMAIN}`)"
- "traefik.http.routers.${APP_NAME}-mcp.entrypoints=websecure"
- "traefik.http.routers.${APP_NAME}-mcp.tls.certresolver=letsencrypt"
- "traefik.http.routers.${APP_NAME}-mcp.service=${APP_NAME}-mcp"
# Headers personalizados para WebSocket y streaming
- "traefik.http.middlewares.${APP_NAME}-mcp-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.routers.${APP_NAME}-mcp.middlewares=${APP_NAME}-mcp-headers"
networks:
principal:
external: true