Sua Infra, Suas Regras.
Aprenda a configurar o API Connector no seu próprio servidor com Docker puro, Portainer/Traefik ou EasyPanel. Do desktop à produção, temos o guia certo para você.
Conceitos Fundamentais
Entenda as peças do quebra-cabeça antes de começar.
Docker
Imagine como "containers" isolados onde a aplicação mora. Isso garante que ela rode igual no seu PC e no servidor, sem conflitos de dependências.
Portainer
É o seu painel de controle visual. Em vez de comandos infinitos no terminal, você gerencia seus containers, logs e redes através de uma interface web.
Traefik
O "guarda de trânsito". Ele recebe as visitas da internet, decide para qual container enviar e gera o cadeado (SSL/HTTPS) automaticamente.
Pré-Requisitos de Infra
O que você precisa preparar no seu servidor.
Domínio e DNS
Você precisa de um domínio (ou subdomínio) registrado apontando para o seu servidor.
Configuração no Provedor (Cloudflare, etc):
Rede Externa no Docker
Se for usar Traefik, crie a rede pública manualmente via SSH:
docker network create traefik_publicVariáveis no Portainer
Defina o domínio na aba Environment variables ao criar a Stack:
Domínio no EasyPanel
Crie quatro rotas no seu projeto:
Rota 1: Frontend
- • Host: apiconnector.seusite.com
- • Path: /
- • Porta: 80 | Service: frontend
Rota 2: Backend (API)
- • Host: apiconnector.seusite.com
- • Path: /api
- • Porta: 3000 | Service: api
Rota 3: WhatsApp (Baileys)
- • Host: apiconnector.seusite.com
- • Path: /whatsapp
- • Porta: 8080 | Service: baileys
Rota 4: Claude MCP Server
- • Host: apiconnector.seusite.com
- • Path: /server-mcp
- • Porta: 3100 | Service: mcp
Passo a Passo Interativo
Escolha seu método de deploy e siga as instruções.
# docker-compose.yml
services:
redis:
image: redis:7-alpine
container_name: api-connector-redis
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- connector_net
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 5s
timeout: 3s
retries: 5
api:
image: registry.gitlab.com/andrealencar/chatwoot-api-connector/api_connector_backend:1.4.1.29
container_name: api-connector-api
restart: unless-stopped
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- DATABASE_URL=file:/app/data/database.db
- REDIS_HOST=redis
- REDIS_PORT=6379
- PORT=3000
- MCP_OAUTH_CLIENT_ID=api-connector-claude
- JWT_SECRET=${JWT_SECRET:-supersecretkey}
- JWT_REFRESH_SECRET=<defina_na_stack>
- ENCRYPTION_KEY=<defina_na_stack>
volumes:
- api_data:/app/data
- api_logs:/app/logs
depends_on:
redis:
condition: service_healthy
networks:
- connector_net
frontend:
image: registry.gitlab.com/andrealencar/chatwoot-api-connector/api_connector_frontend:1.4.1.29
container_name: api-connector-frontend
restart: unless-stopped
ports:
- "80:80"
depends_on:
- api
networks:
- connector_net
baileys:
image: registry.gitlab.com/andrealencar/chatwoot-api-connector/api_connector_baileys:1.4.1.30
container_name: api-connector-baileys
restart: unless-stopped
ports:
- "8080:8080"
environment:
- WEBHOOK_URL=http://api:3000/api/webhooks/baileys
- PUBLIC_URL=http://localhost:8080
volumes:
- baileys_data:/data
depends_on:
- api
networks:
- connector_net
mcp:
image: registry.gitlab.com/andrealencar/chatwoot-api-connector/api_connector_mcp:1.4.1.29
container_name: api-connector-mcp
restart: unless-stopped
ports:
- "3100:3100"
environment:
- API_BASE_URL=http://api:3000
- API_TOKEN=${JWT_SECRET:-supersecretkey}
- MCP_OAUTH_CLIENT_ID=api-connector-claude
- MCP_OAUTH_REDIRECT_URIS=http://127.0.0.1:4391/callback,http://localhost:4391/callback,https://claude.ai/api/mcp/auth_callback
- MCP_OAUTH_STATE_PATH=/app/data/mcp-oauth-state.json
volumes:
- mcp_data:/app/data
depends_on:
- api
networks:
- connector_net
networks:
connector_net:
driver: bridge
volumes:
redis_data:
api_data:
api_logs:
baileys_data:
mcp_data:Sobre este método
Ideal para testes rápidos ou instâncias únicas em VPS.
docker compose up -dSecurity First
Nossas imagens são "Zero-Config". Isso significa que chaves de criptografia e JWT já estão embutidas.