N8N Self-Hosted: Como Hospedar sua Própria Instância
O N8N é uma das ferramentas de automação mais poderosas do mercado, e uma das suas maiores vantagens é a possibilidade de ser self-hosted — ou seja, hospedado na sua própria infraestrutura. Neste guia, vamos explorar o que significa hospedar o N8N, como fazer isso na prática, os desafios envolvidos e como a lui.cx pode simplificar todo esse processo.
O que é self-hosting?
Self-hosting é a prática de rodar um software nos seus próprios servidores, em vez de depender da infraestrutura do fornecedor. No caso do N8N, isso significa instalar e executar a plataforma em um servidor que você controla, seja ele um VPS (Virtual Private Server), um servidor dedicado ou até mesmo uma máquina local.
Vantagens do N8N self-hosted
-
Controle total dos dados: Seus dados de automação, credenciais e fluxos de trabalho ficam exclusivamente no seu servidor. Isso é crucial para empresas que precisam estar em conformidade com a LGPD ou outras regulamentações de proteção de dados.
-
Sem limites de execução: Diferente do N8N Cloud, que cobra por execuções, a versão self-hosted não tem limites. Você pode executar quantos workflows quiser, quantas vezes precisar.
-
Customização total: Você pode configurar o ambiente exatamente como precisa, instalar nós da comunidade, ajustar limites de memória e personalizar a instância.
-
Custo previsível: Em vez de pagar por execução (que pode escalar rapidamente), você paga apenas pelo servidor. Para operações de alto volume, isso representa economia significativa.
-
Baixa latência: Hospedando no Brasil, suas automações que interagem com serviços e APIs brasileiras terão latência muito menor do que em servidores no exterior.
Desvantagens do self-hosting manual
- Exige conhecimento técnico em Linux, Docker e redes
- Responsabilidade por atualizações e segurança
- Necessidade de configurar backups manualmente
- Monitoramento e manutenção contínuos
- Troubleshooting por conta própria
Requisitos para hospedar o N8N
Antes de começar, você precisa atender a alguns requisitos mínimos:
Hardware (servidor/VPS)
| Recurso | Mínimo | Recomendado |
|---|---|---|
| CPU | 1 vCPU | 2+ vCPUs |
| RAM | 1 GB | 2+ GB |
| Armazenamento | 10 GB SSD | 20+ GB SSD |
| Largura de banda | 1 TB/mês | 2+ TB/mês |
Para ambientes de produção com muitos workflows ativos, considere pelo menos 4 GB de RAM e 2 vCPUs. O consumo de memória escala com o número de execuções simultâneas e a complexidade dos fluxos.
Software
- Sistema operacional: Ubuntu 22.04+ ou Debian 12+ (recomendado)
- Docker: Versão 20.10+ e Docker Compose v2
- Node.js: Versão 18+ (se instalar sem Docker)
- Banco de dados: SQLite (padrão) ou PostgreSQL (recomendado para produção)
- Proxy reverso: Nginx ou Caddy (para SSL e domínio customizado)
Rede
- Um domínio ou subdomínio apontando para o IP do servidor
- Portas 80 e 443 liberadas no firewall
- Certificado SSL (pode ser gerado com Let’s Encrypt)
Guia passo a passo: instalando o N8N com Docker
A forma mais prática de instalar o N8N é usando Docker Compose. Aqui está um tutorial completo.
Passo 1: Preparar o servidor
Conecte-se ao seu servidor via SSH e atualize os pacotes:
sudo apt update && sudo apt upgrade -y
Passo 2: Instalar o Docker
Instale o Docker e o Docker Compose:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Faça logout e login novamente para que as permissões do grupo Docker sejam aplicadas.
Passo 3: Criar a estrutura de diretórios
mkdir -p ~/n8n-docker
cd ~/n8n-docker
Passo 4: Criar o arquivo Docker Compose
Crie o arquivo docker-compose.yml:
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=seu-dominio.com.br
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://seu-dominio.com.br/
- GENERIC_TIMEZONE=America/Sao_Paulo
- TZ=America/Sao_Paulo
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=SuaSenhaSegura123
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Substitua seu-dominio.com.br pelo seu domínio real e altere a senha de autenticação.
Passo 5: Configurar o Nginx como proxy reverso
Instale o Nginx:
sudo apt install nginx -y
Crie a configuração para o N8N:
server {
listen 80;
server_name seu-dominio.com.br;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding off;
}
}
Passo 6: Configurar o SSL com Let’s Encrypt
Instale o Certbot e gere o certificado:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d seu-dominio.com.br
O Certbot vai configurar automaticamente o HTTPS no Nginx e agendar a renovação automática do certificado.
Passo 7: Iniciar o N8N
cd ~/n8n-docker
docker compose up -d
O N8N estará acessível em https://seu-dominio.com.br.
Passo 8: Configurar backups
Crie um script de backup para executar diariamente:
#!/bin/bash
BACKUP_DIR="/home/$USER/n8n-backups"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
docker exec n8n-docker-n8n-1 n8n export:workflow --all \
--output="$BACKUP_DIR/workflows_$DATE.json"
docker exec n8n-docker-n8n-1 n8n export:credentials --all \
--output="$BACKUP_DIR/credentials_$DATE.json"
find $BACKUP_DIR -mtime +30 -delete
Agende a execução com cron:
crontab -e
# Adicione:
0 3 * * * /home/$USER/n8n-backup.sh
Configurações avançadas para produção
Usando PostgreSQL em vez de SQLite
Para ambientes de produção, o PostgreSQL oferece melhor performance e confiabilidade. Atualize o docker-compose.yml:
version: "3.8"
services:
postgres:
image: postgres:16
restart: always
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=SenhaDoPostgres
- POSTGRES_DB=n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n:latest
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=SenhaDoPostgres
- N8N_HOST=seu-dominio.com.br
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://seu-dominio.com.br/
- GENERIC_TIMEZONE=America/Sao_Paulo
- TZ=America/Sao_Paulo
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
n8n_data:
postgres_data:
Configurando limites de execução
Para evitar que workflows mal configurados consumam todos os recursos do servidor:
- EXECUTIONS_TIMEOUT=300
- EXECUTIONS_TIMEOUT_MAX=600
- N8N_PAYLOAD_SIZE_MAX=16
Monitoramento com healthcheck
Adicione um healthcheck ao serviço N8N para garantir que o container está funcionando:
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5678/healthz"]
interval: 30s
timeout: 10s
retries: 3
Os desafios reais do self-hosting
Embora o tutorial acima pareça simples, a realidade de manter um N8N self-hosted em produção envolve desafios contínuos:
Atualizações de segurança
O N8N e suas dependências recebem atualizações regulares. Manter tudo atualizado exige atenção constante para não expor seu servidor a vulnerabilidades. Uma atualização mal feita pode derrubar toda a sua automação.
Escalabilidade
À medida que seus workflows crescem em número e complexidade, o consumo de recursos aumenta. Saber quando e como escalar o servidor, otimizar consultas ao banco de dados e gerenciar memória requer expertise técnica.
Disponibilidade
Garantir que o N8N esteja disponível 24/7 não é trivial. Quedas de servidor, problemas de rede, esgotamento de disco e outros problemas podem interromper suas automações em momentos críticos.
Disaster recovery
O que acontece se o servidor falhar completamente? Ter uma estratégia de disaster recovery com backups testados, documentação e procedimentos de restauração é essencial, mas frequentemente negligenciado.
Como a lui.cx resolve esses desafios
A lui.cx foi criada especificamente para resolver os desafios do N8N self-hosted. Oferecemos hospedagem gerenciada com toda a flexibilidade do self-hosting, sem a complexidade operacional:
Infraestrutura otimizada
Nossos servidores são VPS dedicados no Brasil, configurados especificamente para o N8N. Cada cliente recebe sua própria instância isolada, garantindo performance consistente e segurança.
Setup em minutos
Em vez de horas configurando servidor, Docker, Nginx e SSL, com a lui.cx você tem seu N8N funcionando em minutos. Basta se cadastrar, escolher o plano e sua instância é provisionada automaticamente.
Backups automáticos
Realizamos backups diários automáticos de todos os workflows, credenciais e dados. Em caso de qualquer problema, a restauração é rápida e sem perda de dados.
Atualizações gerenciadas
Nossa equipe monitora as versões do N8N e aplica atualizações de forma segura, testando compatibilidade antes de atualizar sua instância. Você sempre roda a versão mais recente sem riscos.
Suporte especializado em português
Nossa equipe conhece o N8N profundamente e oferece suporte técnico em português. Não importa se o problema é uma configuração de webhook ou uma integração complexa, estamos aqui para ajudar.
Monitoramento 24/7
Monitoramos a saúde da sua instância continuamente. Se algo sair do normal, agimos proativamente antes que impacte suas automações.
Conclusão
O N8N self-hosted é uma opção poderosa para quem busca controle total sobre suas automações. No entanto, manter a infraestrutura por conta própria exige tempo, conhecimento técnico e atenção constante.
Se você quer os benefícios do N8N self-hosted sem as dores de cabeça, a lui.cx oferece a melhor combinação: instância dedicada, dados no Brasil, performance otimizada e suporte especializado. Comece hoje mesmo e automatize seu negócio com tranquilidade.