Bem-vindo ao repositório de infraestrutura do n8n utilizando Docker. Este projeto foi projetado para fornecer um ambiente robusto, escalável e fácil de gerenciar para automação de fluxos de trabalho e agentes de IA, utilizando as melhores práticas de containerização.
Este projeto orquestra uma infraestrutura completa para o n8n em modo de fila (queue mode), garantindo alta disponibilidade e separação de responsabilidades. Além do núcleo do n8n, a stack inclui serviços dedicados para suporte a agentes de IA e ferramentas de gerenciamento de banco de dados.
O objetivo é permitir que desenvolvedores e engenheiros de dados subam um ambiente de automação profissional em minutos, independentemente do sistema operacional.
A infraestrutura é construída sobre uma stack moderna e confiável:
- Docker & Docker Compose: Para orquestração e isolamento dos serviços.
- n8n: Plataforma de automação de fluxo de trabalho (versão principal e workers).
- PostgreSQL:
- Banco de dados principal do n8n (
database). - Banco de dados dedicado para ferramentas/agentes de IA (
database-tool).
- Banco de dados principal do n8n (
- Redis:
- Gerenciamento de filas de tarefas do n8n (
queue). - Memória rápida para agentes de IA (
memory).
- Gerenciamento de filas de tarefas do n8n (
- pgAdmin 4: Interface web para administração facilitada do banco de dados de ferramentas.
Antes de começar, certifique-se de ter as ferramentas abaixo instaladas em sua máquina.
Necessário para clonar o repositório.
O motor principal para rodar a infraestrutura. Recomendamos sempre a última versão estável.
- Windows: Docker Desktop para Windows (Recomendado usar com WSL2).
- Mac: Docker Desktop para Mac (Suporte a Apple Silicon e Intel).
- Linux: Docker Engine e Docker Compose Plugin.
Siga este guia para colocar sua infraestrutura no ar.
Abra seu terminal e clone este projeto para sua máquina local:
git clone https://github.com/seu-usuario/n8n-docker-infra.git
cd n8n-docker-infraO projeto utiliza um arquivo .env para gerenciar senhas e configurações sensíveis. Criamos um modelo para você começar.
-
Copie o arquivo de exemplo:
cp .env-example .env # No Windows (PowerShell), use: copy .env-example .env -
Abra o arquivo
.envem seu editor de texto preferido e ajuste as variáveis se necessário.- Importante: Gere uma chave de criptografia segura para a variável
N8N_ENCRYPTION_KEY. - Para gerar uma chave, você pode rodar no terminal (Linux/Mac/WSL):
openssl rand -base64 32
- Importante: Gere uma chave de criptografia segura para a variável
Com tudo configurado, suba os containers. O Docker baixará as imagens e iniciará os serviços.
docker compose up -d- O parâmetro
-d(detached) roda os containers em segundo plano.
Aguarde alguns instantes para que todos os serviços inicializem (o banco de dados e o n8n podem levar alguns segundos). Verifique se tudo está rodando:
docker compose psApós a inicialização, você pode acessar as interfaces web através do seu navegador:
| Serviço | URL | Credenciais Padrão (se não alteradas no .env) |
|---|---|---|
| n8n Editor | http://localhost:5678 |
Crie sua conta no primeiro acesso. |
| pgAdmin | http://localhost:5050 |
Email: admin@local Senha: pgadminpass |
- Instale o Docker Desktop para Mac.
- Abra o Terminal.
- Siga os Passos 1 a 3 acima.
- O acesso ao
localhostfunciona nativamente.
- Instale o Docker Desktop para Windows.
- Habilite a integração com WSL 2 (Windows Subsystem for Linux) nas configurações do Docker para melhor performance.
- Use o PowerShell ou um terminal WSL (como Ubuntu) para rodar os comandos.
- Comando para copiar o .env no PowerShell:
copy .env-example .env. - Siga os demais passos normalmente.
- Instale o Docker Engine e o plugin Docker Compose.
- Adicione seu usuário ao grupo docker para rodar sem
sudo(opcional, mas recomendado):sudo usermod -aG docker $USER newgrp docker - Siga os Passos 1 a 3 acima.
- Parar a infraestrutura:
docker compose down
- Ver logs em tempo real (ex: do n8n):
docker compose logs -f n8n
- Atualizar as imagens:
docker compose pull docker compose up -d
Se encontrar problemas ou tiver dúvidas sobre a infraestrutura, sinta-se à vontade para abrir uma issue neste repositório.
