Automação com n8n self-hosted no seu VPS
O n8n é uma plataforma de automação de fluxos de trabalho, alternativa ao Zapier e ao Make. Ele conecta centenas de aplicativos e APIs com uma interface visual — e pode rodar no seu próprio servidor.
Por que hospedar o n8n no seu VPS
- Custo fixo, sem cobrança por execução ou tarefa (respeitando a licença do n8n para o seu caso de uso);
- Dados sob seu controle — importante para LGPD;
- Sem limites artificiais de fluxos e execuções — o limite é o seu servidor;
- Acesso a nós de código (JavaScript/Python), comandos e serviços internos;
- Integração com IA (LLMs, agentes) e com serviços self-hosted no mesmo VPS.
Pré-requisitos
- VPS com Docker e Docker Compose;
- Um subdomínio apontado para o VPS (ex.:
n8n.seudominio.com.br); - Proxy reverso com HTTPS (Nginx, Caddy ou Traefik).
1. Estrutura
mkdir -p ~/n8n && cd ~/n8n
.env:
POSTGRES_PASSWORD=troque_esta_senha
N8N_ENCRYPTION_KEY=gere_uma_chave_longa_e_aleatoria
N8N_HOST=n8n.seudominio.com.br
Gere uma chave aleatória com openssl rand -hex 32 e guarde-a em local seguro: sem ela, as credenciais salvas no n8n não podem ser descriptografadas.
2. compose.yaml
services:
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: n8n
volumes:
- pg_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 10s
retries: 5
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
N8N_HOST: ${N8N_HOST}
N8N_PROTOCOL: https
WEBHOOK_URL: https://${N8N_HOST}/
GENERIC_TIMEZONE: America/Sao_Paulo
TZ: America/Sao_Paulo
EXECUTIONS_DATA_PRUNE: "true"
EXECUTIONS_DATA_MAX_AGE: 336
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n_data:/home/node/.n8n
volumes:
pg_data:
n8n_data:
docker compose up -d
docker compose logs -f n8n
3. Proxy reverso (Nginx)
server {
server_name n8n.seudominio.com.br;
location / {
proxy_pass http://127.0.0.1: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-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
}
}
sudo certbot --nginx -d n8n.seudominio.com.br
Acesse o endereço e crie a conta de proprietário.
4. Exemplos de automações
- Novo pedido na loja → mensagem no WhatsApp/Telegram da equipe + linha na planilha;
- Formulário do site → CRM + e-mail de boas-vindas;
- Monitorar um site → alerta se sair do ar;
- Resumir e-mails ou tickets com IA e classificar por prioridade;
- Backup diário de dados de uma API para armazenamento S3.
5. Manutenção
Atualizar
docker compose pull && docker compose up -d
Leia as notas de versão antes de atualizações principais.
Backup
- Banco PostgreSQL (
pg_dump); - Volume
n8n_data; - A
N8N_ENCRYPTION_KEYem local seguro.
Segurança
- Mantenha o n8n atualizado;
- Use senha forte e 2FA na conta;
- Não exponha a porta 5678 diretamente;
- Proteja webhooks sensíveis com autenticação.
Conclusão
Com n8n self-hosted, você automatiza processos sem pagar por execução e mantém seus dados sob controle. Rode o seu em um VPS-NVME-BR da VittHost, com NVMe e servidores no Brasil.Use o cupom SP-VITT20 e ganhe 20% de desconto na primeira fatura enquanto a promoção estiver ativa.