N8N + Evolution API: Instalação Local Rápida e Fácil

Se você está buscando criar fluxos de automação robustos com integrações poderosas de API, este tutorial é para você! Neste artigo, vamos configurar um ambiente local completo com n8n, Evolution API, PostgreSQL, Redis, Ngrok e Adminer, utilizando Docker e Docker Compose.

💡 Este artigo acompanha um vídeo tutorial completo no YouTube:
🎥 Como instalar o N8N e Evolution API localmente


🔧 Pré-requisitos

Antes de iniciar, você precisa ter os seguintes itens instalados na sua máquina:


🚀 Passo a Passo para Instalação

1. Clone o Repositório

Repositório Utilizado: Aqui
https://github.com/zaniniii/n8n-evoapi-ngrok

git clone https://github.com/seu-usuario/seu-repositorio.git
cd seu-repositorio

2. Crie uma Conta no Ngrok

  1. Acesse ngrok.com e crie sua conta.
  2. Após o login, vá até o painel e copie seu Authtoken.

3. Configure o Arquivo .env

Crie um arquivo .env na raiz do projeto (ou copie de um .env.example, se houver) com as seguintes configurações:

# PostgreSQL
POSTGRES_USER=postgres
POSTGRES_PASSWORD=senha_postgres
POSTGRES_DB=app_db

# n8n
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=usuario
N8N_BASIC_AUTH_PASSWORD=senha
DB_TYPE=postgresdb
DB_POSTGRESDB_HOST=postgres
DB_POSTGRESDB_PORT=5432
DB_POSTGRESDB_USER=${POSTGRES_USER}
DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
DB_POSTGRESDB_DATABASE=${POSTGRES_DB}

# Evolution API
AUTHENTICATION_API_KEY=SUA_KEY
DATABASE_ENABLED=true
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}?schema=public
DATABASE_CONNECTION_CLIENT_NAME=evolution_exchange
DATABASE_SAVE_DATA_INSTANCE=true
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true
DATABASE_SAVE_DATA_LABELS=true
DATABASE_SAVE_DATA_HISTORIC=true

# Redis
CACHE_REDIS_ENABLED=true
CACHE_REDIS_URI=redis://redis:6379/6
CACHE_REDIS_PREFIX_KEY=evolution
CACHE_REDIS_SAVE_INSTANCES=false

# Cache local
CACHE_LOCAL_ENABLED=false

⚠️ Importante:

  • Substitua SUA_KEY por sua chave de API pessoal para o Evolution API.
  • No arquivo ngrok.yml, configure o authtoken com o valor obtido no site do Ngrok.
  • Ajuste as credenciais (POSTGRES_PASSWORD, N8N_BASIC_AUTH_USER, N8N_BASIC_AUTH_PASSWORD) para valores seguros.

4. Suba os Serviços

Na raiz do projeto, execute:

docker-compose up -d

Isso irá iniciar os seguintes serviços:

ServiçoPortaDescrição
n8n5678Ferramenta de automação de fluxos
PostgreSQL5432Banco de dados principal
Evolution API8080API para integração de mensagens
Ngrok4040Túnel para expor o n8n publicamente
Redis6380Cache para o Evolution API
Adminer8081Interface web para gerenciar o PostgreSQL

✅ Verificando os Serviços


🔄 Atualizando os Webhooks com o Ngrok

Como o Ngrok gera uma URL nova a cada inicialização, é necessário atualizar os webhooks sempre que reiniciar os serviços.

Para atualizar:

  1. Acesse http://localhost:4040
  2. Copie a nova URL (ex: https://abcd-1234.ngrok.io)
  3. Atualize essa URL nos:
    • Webhooks do n8n
    • Configurações da Evolution API
    • Qualquer serviço externo que a utilize

⏹️ Parando os Serviços

  • Para parar os serviços:
docker-compose down
  • Para parar e remover os volumes (limpar os dados):
docker-compose down -v

📦 Estrutura dos Serviços

  • n8n: Automação de fluxos com integração direta ao PostgreSQL
  • Evolution API: Gerencia troca de mensagens com suporte a cache e banco de dados
  • PostgreSQL: Armazena os dados persistentes
  • Redis: Gerencia o cache da Evolution API
  • Ngrok: Fornece URL pública temporária para o n8n
  • Adminer: Interface web simples para gerenciar o banco

📝 Notas Finais

  • Certifique-se de que as portas utilizadas estejam livres na sua máquina
  • O Ngrok gratuito gera URLs temporárias. Se quiser uma URL fixa, considere planos pagos ou outras soluções de túnel (como LocalTunnel)
  • Nunca compartilhe seu .env publicamente — ele contém credenciais sensíveis

Se você gostou deste tutorial, não esqueça de conferir o vídeo completo:

👉 Assista no YouTube


Se quiser, posso formatar isso como um artigo em Markdown, HTML ou até gerar um PDF. Quer que eu faça isso pra você?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *