Índice do artigo
Execute o comando abaixo no diretório onde você criou os arquivos .env e docker-compose.yml.
Veja a infraestrutura: VPS para n8n no Brasil para colocar este projeto no ar.
docker-compose up -d
Este comando baixará as imagens necessárias (n8nio/n8n e postgres) e iniciará os containers em segundo plano. O `-d` significa "detached mode".
Para garantir que tudo está funcionando corretamente, verifique os logs dos containers.
docker-compose logs -f n8n
Você deverá ver mensagens indicando que o n8n está rodando e conectado ao banco de dados. Para ver os logs do banco de dados:
docker-compose logs -f db
Diagnóstico e Solução de Problemas
Mesmo com uma instalação correta, problemas podem surgir. Vamos abordar as causas mais comuns e como resolvê-las.
1. n8n Parou de Funcionar ou Está Lento
Este é um dos problemas mais frustrantes. As causas podem ser variadas:
a. Consumo Excessivo de RAM e CPU
Workflows complexos, com muitos nós, loops infinitos ou processamento de grandes volumes de dados, podem sobrecarregar os recursos do seu VPS. Um VPS com 4GB de RAM e 4 vCPUs pode lidar com muitas tarefas, mas há limites.
- Sintoma: O n8n fica lento, não responde, ou o servidor inteiro fica instável. Ferramentas como
htopno terminal do seu VPS mostrarão picos de uso de CPU e memória pelo processo do Docker ou do container n8n. - Diagnóstico:
- Execute
docker statsno terminal do seu VPS. Observe o uso de CPU e MEMORY de cada container. Se o containern8nestiver constantemente no topo, há um problema. - Analise seus workflows no n8n. Procure por loops que não terminam, nós que processam dados excessivos sem paginação ou filtragem adequada, ou integrações que podem estar retornando muitos dados.
- Verifique os logs do n8n (
docker-compose logs n8n) em busca de mensagens de erro relacionadas à memória (Out Of Memory - OOM) ou processamento longo.
- Execute
- Solução:
- Otimize Workflows: Divida workflows complexos em partes menores, use nós de "Wait" para dar tempo ao sistema, implemente paginação e filtros nos nós de requisição.
- Aumente os Recursos do VPS: Se a otimização não for suficiente, considere um upgrade do seu VPS para um com mais RAM e vCPUs. Um plano com 8GB de RAM e 6 vCPUs seria um bom próximo passo.
- Limite Conexões Simultâneas: Em configurações avançadas, você pode limitar o número de execuções simultâneas para evitar sobrecarga.
- Reinicie o Container: Em casos de travamento temporário, reiniciar o container pode resolver. Use
docker-compose restart n8n.
b. Problemas com o Banco de Dados
O n8n utiliza um banco de dados para armazenar workflows, dados de execução e credenciais. Um banco de dados lento ou corrompido pode impactar o desempenho geral.
- Sintoma: Workflows demoram muito para iniciar, a lista de workflows carrega lentamente, ou ocorrem erros genéricos ao salvar/executar.
- Diagnóstico:
- Verifique os logs do container do banco de dados (
docker-compose logs db). Procure por erros de conexão, lentidão ou avisos. - Se estiver usando PostgreSQL, você pode monitorar o uso do disco e a performance com ferramentas como
pg_stat_activityoupg_buffercache. - Para SQLite (não recomendado para produção), verifique o tamanho do arquivo
n8n.sqlite. Arquivos muito grandes podem indicar problemas de performance.
- Verifique os logs do container do banco de dados (
- Solução:
- Use PostgreSQL: Para ambientes de produção, o PostgreSQL é altamente recomendado pela sua robustez e escalabilidade. Se você estiver usando SQLite, migre para PostgreSQL.
- Otimize Consultas: Se você tiver acesso avançado ao PostgreSQL, pode investigar e otimizar consultas lentas.
- Limpeza de Dados: Workflows antigos ou execuções que falharam podem deixar registros desnecessários. O n8n possui configurações para limpar dados de execução antigos. Verifique as variáveis de ambiente relacionadas a limpeza de dados.
- Reinicie o Banco de Dados:
docker-compose restart dbpode ajudar em problemas temporários.
c. Falhas de Atualização
Atualizar o n8n, especialmente entre versões majoritárias, pode introduzir incompatibilidades ou bugs. É crucial testar atualizações em um ambiente de staging antes de aplicar em produção.
- Sintoma: O n8n para de funcionar após uma atualização, workflows que antes funcionavam agora falham, ou novas funcionalidades não operam corretamente.
- Diagnóstico:
- Consulte as notas de lançamento (release notes) da nova versão do n8n para verificar se há mudanças que afetam seus workflows ou configurações.
- Verifique os logs do n8n (
docker-compose logs n8n) para mensagens de erro específicas após a atualização. Erros de migração de banco de dados são comuns. - Tente reverter para a versão anterior do n8n para confirmar se a atualização foi a causa do problema.
- Solução:
- Reverta a Atualização: Se possível, reverta a imagem do Docker para a versão anterior. Edite o arquivo
docker-compose.ymlpara usar a tag da versão anterior (ex:image: n8nio/n8n:1.30.0) e executedocker-compose up -d. - Execute Migrações Manuais: Em alguns casos, após uma atualização, pode ser necessário executar comandos manuais de migração para o banco de dados. Consulte a documentação do n8n para a versão específica.
- Crie um Ambiente de Teste: Sempre que possível, teste atualizações em um ambiente separado antes de aplicá-las em produção.
- Reverta a Atualização: Se possível, reverta a imagem do Docker para a versão anterior. Edite o arquivo
2. n8n Não Conecta no Webhook
Webhooks são essenciais para automações que dependem de gatilhos externos. Falhas aqui impedem que o n8n receba dados de outras aplicações.
- Sintoma: Requisições enviadas para o URL do webhook do n8n retornam erros (404, 500, timeouts) ou simplesmente não são recebidas.
- Diagnóstico:
- Verifique a Configuração do Domino e Proxy Reverso: Se você usa um domínio com Nginx ou Traefik como proxy reverso, certifique-se de que as regras de roteamento estão corretas e apontam para a porta 5678 do container n8n. Verifique os logs do seu proxy reverso.
- Firewall: Certifique-se de que a porta 5678 (ou a porta que o n8n está exposto externamente) está aberta no firewall do seu servidor (ex:
ufw allow 5678/tcp). - URL do Webhook no N8N: Verifique a variável de ambiente
WEBHOOK_URLno seu arquivo.env. Ela deve corresponder ao URL público que seu proxy reverso está expondo. Ex:https://seu.dominio.com/webhook/. Note a barra final. - Logs do N8N: Verifique se há erros nos logs do n8n relacionados à recepção de requisições.
- Testes de Rede: Use ferramentas como
curlde um servidor externo para testar a acessibilidade do seu webhook. Ex:curl -X POST https://seu.dominio.com/webhook/.
- Solução:
- Confira Configurações de Proxy Reverso:
- Nginx: Se estiver usando Nginx, sua configuração pode parecer com:
Lembre-se de configurar o SSL (HTTPS) para produção.server { listen 80; server_name seu.dominio.com; location / { proxy_pass http://localhost:5678; # Ou o IP do seu servidor Docker se não for local proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } - Traefik: Se você usou os labels no
docker-compose.yml, o Traefik deve configurar o roteamento automaticamente. Verifique os logs do Traefik para erros.
- Nginx: Se estiver usando Nginx, sua configuração pode parecer com:
- Abra a Porta Correta: Garanta que a porta externa utilizada pelo seu proxy reverso (geralmente 80/443) e a porta interna do n8n (5678) estejam acessíveis.
- Verifique o Domínio e Certificado SSL: Certifique-se de que o domínio está corretamente apontado para o IP do seu VPS e que o certificado SSL está válido.
- Ajuste
WEBHOOK_URL: Se você usa HTTPS, a variável deve refletir isso:https://seu.dominio.com/webhook/.
- Confira Configurações de Proxy Reverso:
Manter seu n8n rodando de forma estável em produção é fundamental para a confiabilidade das suas automações. Com este guia, você terá as ferramentas necessárias para diagnosticar e resolver a maioria dos problemas comuns, desde a configuração inicial até o monitoramento e a otimização de desempenho. Lembre-se que um bom monitoramento e backups regulares são sempre recomendados.
Para uma solução completa e sem complicações, com a garantia de recursos adequados e suporte técnico especializado, recomendamos o plano VPS Brasil Básico da Host You Secure. Ele oferece 4GB de RAM e 4 vCPUs, ideal para iniciar suas automações com n8n de forma robusta e confiável.
Comparativo: Configurações de Banco de Dados para n8n em Produção
| Recurso | SQLite (Não recomendado para produção) | PostgreSQL (Recomendado para produção) |
|---|---|---|
| Performance e Escalabilidade | Limitada, boa para testes e uso pessoal. | Alta performance e escalabilidade para grandes volumes de dados e tráfego. |
| Confiabilidade e Robustez | Menos robusto, pode falhar com muitos acessos simultâneos. | Altamente confiável, com recursos avançados de transação e recuperação. |
| Facilidade de Configuração | Muito simples, arquivo único. | Requer instalação e configuração de um servidor de banco de dados. |
| Recursos | Básico, sem suporte a recursos avançados de SQL. | Suporte completo a SQL, extensões e funcionalidades avançadas. |
| Gerenciamento de Dados | Simples, mas pode se tornar um gargalo. | Robusto, com ferramentas de gerenciamento e otimização de queries. |
📦 Template n8n: Agente de IA com WhatsApp + Evolution API
Baixe o arquivo JSON pronto para importar: Webhook configurado, tratamento de remetente, nó de OpenAI e disparo via Evolution API.
FAQ: perguntas frequentes
O que fazer se o n8n parar de funcionar após uma atualização?
Após uma atualização, se o n8n parar de funcionar, o primeiro passo é verificar os logs do container (<code>docker compose logs n8n</code>) para identificar mensagens de erro. Se o problema persistir, considere reverter para a versão anterior, se possível, ou reinstalar o n8n seguindo o guia de deploy. Verifique também a compatibilidade das suas integrações com a nova versão.
Como resolver o problema de n8n consumindo toda a RAM?
O consumo excessivo de RAM geralmente ocorre devido a workflows ineficientes, como loops infinitos, processamento de grandes volumes de dados sem paginação, ou múltiplos workflows rodando simultaneamente com alta demanda. Otimize seus fluxos, divida tarefas grandes em menores, e monitore o uso de recursos do servidor. Considere aumentar a RAM do seu VPS se a demanda for consistentemente alta.
Por que meu webhook do n8n não está conectando?
Falhas na conexão de webhooks podem ser causadas por diversas razões: a porta 5678 (ou a porta configurada) não está aberta no firewall do servidor; o n8n não está acessível publicamente (se não estiver usando um proxy reverso com domínio); erros na configuração da URL do webhook no serviço externo; ou permissões incorretas no servidor. Verifique o firewall, a configuração do proxy reverso e os logs do n8n.
Qual a diferença entre usar SQLite e PostgreSQL para o n8n em produção?
SQLite é mais simples de configurar e ideal para desenvolvimento ou uso pessoal com poucos workflows. No entanto, para produção, especialmente com muitos usuários ou workflows complexos, o PostgreSQL é superior. Ele oferece melhor performance, escalabilidade, segurança e confiabilidade, sendo capaz de lidar com um volume maior de dados e requisições concorrentes sem gargalos.
Como faço para acessar o n8n após a instalação?
Após a instalação e o container estar rodando, você acessará o n8n através do endereço IP do seu servidor na porta configurada (geralmente 5678), ou através do seu domínio se você configurou um proxy reverso. Exemplo: <code>http://SEU_IP_DO_VPS:5678</code>. Na primeira vez, você será solicitado a criar um usuário administrador com e-mail e senha.
O que são os 'volumes' no docker-compose.yml do n8n?
Volumes em Docker são mecanismos para persistir dados gerados por containers. No caso do n8n, o volume <code>~/.n8n:/home/node/.n8n</code> garante que os dados do n8n (configurações, fluxos, credenciais, logs) sejam salvos no seu host (VPS) e não sejam perdidos caso o container seja removido ou recriado. Isso é fundamental para a persistência dos seus fluxos de trabalho.
É seguro usar a porta padrão 5678 para o webhook do n8n?
Usar a porta padrão 5678 diretamente pode expor seu n8n a tráfego não solicitado e pode ser bloqueado por alguns firewalls. Para produção, é altamente recomendável configurar um proxy reverso (como Nginx ou Traefik) que exponha o n8n através de uma porta padrão de internet (como 80 ou 443) e gerencie o tráfego SSL/TLS. Isso também facilita o uso de um domínio personalizado.
Como posso monitorar a performance do meu n8n em um VPS?
Para monitorar a performance, você pode usar ferramentas do próprio sistema operacional como <code>htop</code> para ver o uso de CPU e RAM em tempo real. Para o Docker, use <code>docker stats</code> para ver o consumo de recursos de cada container. Configurar um sistema de monitoramento mais robusto com Prometheus e Grafana também é uma ótima prática para acompanhar métricas históricas e definir alertas.