Skip to main content

Command Palette

Search for a command to run...

O Grande Combo

Subindo n8n, WhatsApp e Banco de Dados com um único comando

Updated
2 min read
O Grande Combo

Chegamos ao momento da verdade. Temos um servidor Oracle (gratuito), temos memória Swap (para não travar) e temos um Túnel seguro. Agora, vamos instalar os softwares que vão realmente trabalhar para nós.

Se fôssemos instalar o n8n e a Evolution API do jeito "antigo", teríamos que baixar arquivos, instalar dependências do Node.js, configurar banco de dados na mão... um pesadelo.

Mas como estamos usando Docker, vamos usar a estratégia do "Combo" com o Docker Compose.

1. A Receita do Bolo (O Arquivo Mágico)

O Docker Compose permite escrever uma "receita" num arquivo de texto. Nós dizemos: "Quero um banco Postgres, um cache Redis, a API do WhatsApp e o n8n. E quero que todos conversem entre si."

Acesse a pasta do seu projeto (cd ~/n8n) e edite o arquivo (nano docker-compose.yml). Apague o que tiver lá e cole esta Stack Completa:

YAML

services:
  # 1. Banco de Dados (Postgres para Evolution)
  postgres:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_USER: evolution
      POSTGRES_PASSWORD: evolution_password
      POSTGRES_DB: evolution
    volumes:
      - evolution_db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U evolution"]
      interval: 5s
      timeout: 5s
      retries: 5

  # 2. Cache (Redis para Evolution)
  redis:
    image: redis:alpine
    restart: always
    command: ["redis-server", "--appendonly", "no"]

  # 3. Evolution API v2 (O WhatsApp)
  evolution:
    image: atendai/evolution-api:v2.2.2
    restart: always
    ports:
      - "8080:8080"
    environment:
      - SERVER_URL=https://api.SEUDOMINIO.com.br
      - AUTHENTICATION_API_KEY=[SUA-CHAVE-APY-VAI-AQUI]
      - DATABASE_ENABLED=true
      - DATABASE_PROVIDER=postgresql
      - DATABASE_CONNECTION_URI=postgresql://evolution:evolution_password@postgres:5432/evolution
      - CACHE_REDIS_ENABLED=true
      - CACHE_REDIS_URI=redis://redis:6379/0
      - DEL_INSTANCE=false
      # Truque para evitar desconexão do WhatsApp Web
      - CONFIG_SESSION_PHONE_VERSION=2.3000.1019430043
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started

  # 4. n8n (A Automação)
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.SEUDOMINIO.com.br
      - WEBHOOK_URL=https://n8n.SEUDOMINIO.com.br/
      - GENERIC_TIMEZONE=America/Sao_Paulo
      - TZ=America/Sao_Paulo
      - N8N_SECURE_COOKIE=false
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
  evolution_db:

2. O Segredo da Integração (Networking)

A mágica acontece na rede interna do Docker. Quando você for conectar o n8n na Evolution API, não use o endereço externo (https://api...). Use o endereço interno da rede Docker:

👉 URL: http://evolution:8080

Isso faz com que o n8n converse diretamente com o container do WhatsApp via cabo de rede virtual, sem sair para a internet. É mais seguro, instantâneo e não passa pelo firewall.

3. O Comando de Lançamento

Depois de salvar o arquivo (Ctrl+O, Ctrl+X), a mágica acontece com apenas três palavras no terminal:

Bash

docker compose up -d

O servidor vai baixar as imagens, criar os bancos de dados e conectar tudo. Em cerca de 2 minutos, você terá uma infraestrutura de nível empresarial rodando na sua máquina gratuita.

Na quinta-feira, vamos para o teste final: fazer o primeiro envio de mensagem!