A Evolution API expõe o WhatsApp como uma API HTTP e é o par mais comum do n8n nas VPS da LuraHosting. Requisitos: Docker, um subdomínio apontado (ex.: evo.seudominio.com) e, de preferência, 4 GB de RAM se for dividir com o n8n.
Se já tem o Traefik do guia do n8n, reaproveite; abaixo o Compose completo para começar do zero.
1. Compose
mkdir -p /opt/evolution && cd /opt/evolution
nano docker-compose.yml
services:
traefik:
image: traefik:v3
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --certificatesresolvers.le.acme.tlschallenge=true
- --certificatesresolvers.le.acme.email=seu@email.com
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
ports: ["80:80", "443:443"]
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- traefik_le:/letsencrypt
restart: unless-stopped
postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: evolution
POSTGRES_USER: evolution
POSTGRES_PASSWORD: TROQUE-ESTA-SENHA
volumes: ["pg_data:/var/lib/postgresql/data"]
restart: unless-stopped
redis:
image: redis:7-alpine
command: redis-server --appendonly yes
volumes: ["redis_data:/data"]
restart: unless-stopped
evolution:
image: evoapicloud/evolution-api:latest
environment:
SERVER_URL: https://evo.seudominio.com
AUTHENTICATION_API_KEY: TROQUE-POR-UMA-CHAVE-LONGA
DATABASE_ENABLED: "true"
DATABASE_PROVIDER: postgresql
DATABASE_CONNECTION_URI: postgresql://evolution:TROQUE-ESTA-SENHA@postgres:5432/evolution
CACHE_REDIS_ENABLED: "true"
CACHE_REDIS_URI: redis://redis:6379/1
LANGUAGE: pt-BR
volumes: ["evo_instances:/evolution/instances"]
labels:
- traefik.enable=true
- traefik.http.routers.evo.rule=Host(`evo.seudominio.com`)
- traefik.http.routers.evo.entrypoints=websecure
- traefik.http.routers.evo.tls.certresolver=le
- traefik.http.services.evo.loadbalancer.server.port=8080
depends_on: [postgres, redis]
restart: unless-stopped
volumes:
pg_data:
redis_data:
evo_instances:
traefik_le:
docker compose up -d && docker compose logs -f evolution
2. Conectar um número
- Abra
https://evo.seudominio.com/managere entre com aAUTHENTICATION_API_KEY. - Criar instância, dê um nome e clique em Conectar: aparece o QR code.
- No celular: WhatsApp → Dispositivos conectados → Conectar dispositivo → leia o QR.
Teste de envio:
curl -X POST https://evo.seudominio.com/message/sendText/NOME-DA-INSTANCIA \
-H "apikey: SUA-CHAVE" -H "Content-Type: application/json" \
-d '{"number":"5511999999999","text":"Teste da VPS"}'
3. Integrar com o n8n
Se o n8n roda na mesma VPS e na mesma rede Docker, use http://evolution:8080 como URL interna e a API key. Se estiver em outro lugar, use a URL pública. No n8n, o nó "Evolution API" (community) ou nós HTTP Request resolvem; webhooks de mensagens recebidas são configurados por instância no manager (URL do webhook do n8n).
4. Cuidados
- Nunca deixe a instalação sem
AUTHENTICATION_API_KEYforte: a API controla o seu WhatsApp. - Faça backup dos volumes
pg_dataeevo_instances(backup automático); perderevo_instancesdesconecta os números. - Envio em massa/spam pode banir o número. Use com moderação e respeite as regras do WhatsApp.
- Atualizar:
docker compose pull && docker compose up -d.