Tutoriais

Automação com n8n self-hosted no seu VPS

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_KEY em 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.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS