version: "3.7"
services:
## --------------------------- KOMMO MCP SERVER --------------------------- ##
kommo-mcp:
image: ghcr.io/cardosolucass96/kommo-mcp-server:latest
networks:
- CardosoNet ## Nome da rede interna
environment:
## ⚙️ Configurações do Servidor
- PORT=3000
- HOST=0.0.0.0
- MCP_PASSWORD=${MCP_PASSWORD}
- NODE_ENV=production
- LOG_LEVEL=debug
## 🕒 Fuso Horário
- TZ=America/Sao_Paulo
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
resources:
limits:
cpus: "1"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
update_config:
parallelism: 1
delay: 10s
failure_action: rollback
order: start-first
restart_policy:
condition: any
delay: 5s
max_attempts: 5
window: 120s
labels:
- traefik.enable=true
- traefik.http.routers.kommo_mcp.rule=Host(`mcp-kommo.cardosolucas.com`)
- traefik.http.routers.kommo_mcp.entrypoints=websecure
- traefik.http.routers.kommo_mcp.priority=1
- traefik.http.routers.kommo_mcp.tls.certresolver=letsencryptresolver
- traefik.http.routers.kommo_mcp.service=kommo_mcp
- traefik.http.services.kommo_mcp.loadbalancer.server.port=3000
- traefik.http.services.kommo_mcp.loadbalancer.passHostHeader=1
healthcheck:
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
## --------------------------- KOMMO MCP SERVER --------------------------- ##
networks:
CardosoNet: ## Nome da rede interna
external: true
name: CardosoNet ## Nome da rede interna