- Por que usar um VPS para rodar o n8n?
- Pré-requisitos
- Passo 1: Atualizar o servidor e instalar o Docker
- Passo 2: Criar a estrutura de diretórios
- Passo 3: Criar o arquivo docker-compose.yml
- Passo 4: Subir o n8n
- Passo 5: Configurar HTTPS com Nginx e Certbot
- Passo 6: Abrir a porta no firewall
- Passo 7: Acessar o n8n
- Dicas para manter o n8n saudável em produção
- Qual VPS escolher para rodar o n8n no Brasil?
- Perguntas Frequentes
O n8n virou ferramenta obrigatória para quem automatiza processos sem depender de plataformas caras por execução. Mas rodar o n8n de forma estável, segura e acessível de qualquer lugar exige uma infraestrutura adequada. Um VPS Linux com Docker é a combinação mais prática para isso.
Este guia cobre o processo completo: da preparação do servidor até o acesso via domínio com HTTPS.
Por que usar um VPS para rodar o n8n?
Rodar o n8n localmente funciona para testes, mas cria problemas reais em produção. O serviço cai quando você fecha o computador, webhooks externos não conseguem alcançar sua máquina, e não há backup automático.
Um VPS resolve tudo isso de uma vez. Você tem um servidor sempre ligado, com IP fixo, onde o n8n fica disponível 24 horas por dia. Com armazenamento NVMe SSD, a leitura e escrita de dados dos workflows é significativamente mais rápida do que em servidores com armazenamento convencional.
Para quem precisa de latência baixa no Brasil, um VPS com datacenter em São Paulo é a escolha certa. Se parte dos seus workflows integra APIs norte-americanas, um VPS nos EUA pode reduzir o tempo de resposta nessas chamadas.
Pré-requisitos
Antes de começar, você vai precisar de:
- Um VPS Linux com Ubuntu 22.04 ou 24.04 (recomendado)
- Acesso root ou usuário com privilégios sudo
- Um domínio ou subdomínio apontando para o IP do VPS
- Docker e Docker Compose instalados
Se você ainda não tem um VPS, os planos de VPS com NVMe da Napoleon estão disponíveis nos datacenters do Brasil e dos EUA, com armazenamento NVMe até 10x mais rápido que SSD padrão.
Passo 1: Atualizar o servidor e instalar o Docker
Conecte ao seu VPS via SSH e atualize os pacotes:
sudo apt update && sudo apt upgrade -y
Instale as dependências necessárias:
sudo apt install -y ca-certificates curl gnupg lsb-release
Adicione o repositório oficial do Docker:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instale o Docker e o Docker Compose:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verifique se a instalação funcionou:
docker --version
docker compose version
Passo 2: Criar a estrutura de diretórios
Organize os arquivos do n8n em um diretório dedicado:
mkdir -p ~/n8n && cd ~/n8n
Crie também o volume de dados para persistência:
mkdir -p ~/.n8n
Passo 3: Criar o arquivo docker-compose.yml
Dentro do diretório ~/n8n, crie o arquivo de configuração:
nano docker-compose.yml
Cole o conteúdo abaixo, substituindo os valores indicados:
version: "3.8"
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
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/
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=sua-senha-segura
- GENERIC_TIMEZONE=America/Sao_Paulo
- TZ=America/Sao_Paulo
volumes:
- ~/.n8n:/home/node/.n8n
Salve com Ctrl+O e saia com Ctrl+X.
Variáveis importantes
| Variável | O que faz |
|---|---|
N8N_HOST | Domínio ou IP onde o n8n vai rodar |
WEBHOOK_URL | URL base para os webhooks externos |
N8N_BASIC_AUTH_* | Autenticação básica para proteger o acesso |
GENERIC_TIMEZONE | Define o fuso horário dos agendamentos |
Passo 4: Subir o n8n
Com o arquivo configurado, suba o container:
docker compose up -d
Verifique se está rodando:
docker ps
Você deve ver o container n8n com status Up. Para acompanhar os logs em tempo real:
docker logs -f n8n
Passo 5: Configurar HTTPS com Nginx e Certbot
Rodar o n8n sem HTTPS expõe suas credenciais e os dados dos workflows. Configure um proxy reverso com Nginx e um certificado SSL gratuito via Certbot.
Instale o Nginx e o Certbot:
sudo apt install -y nginx certbot python3-certbot-nginx
Crie um arquivo de configuração para o seu domínio:
sudo nano /etc/nginx/sites-available/n8n
Cole a configuração abaixo:
server {
listen 80;
server_name seu-dominio.com.br;
location / {
proxy_pass http://localhost:5678;
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Ative o site e teste a configuração:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Agora gere o certificado SSL:
sudo certbot --nginx -d seu-dominio.com.br
Siga as instruções na tela. O Certbot configura o HTTPS automaticamente e já cuida da renovação antes do vencimento.
Passo 6: Abrir a porta no firewall
Se o seu VPS usa UFW, libere as portas necessárias:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow OpenSSH
sudo ufw enable
Passo 7: Acessar o n8n
Abra o navegador e acesse https://seu-dominio.com.br. Você verá a tela de login do n8n com as credenciais que definiu no docker-compose.yml.
A partir daqui, é só criar workflows, configurar webhooks, conectar APIs e automatizar o que precisar — com o n8n rodando de forma estável no seu VPS.
Dicas para manter o n8n saudável em produção
Ative backups automáticos. A pasta ~/.n8n contém todos os seus workflows e credenciais. Garanta que o seu VPS tenha backup diário configurado. Nos planos de VPS da Napoleon, o backup diário já está incluído.
Monitore o uso de recursos. O n8n consome mais memória conforme os workflows crescem. Acompanhe com docker stats n8n e ajuste o plano se necessário.
Atualize a imagem regularmente. Para pegar a versão mais recente do n8n:
docker compose pull
docker compose up -d
Use um arquivo .env para as variáveis sensíveis. Em vez de colocar senhas direto no docker-compose.yml, crie um arquivo .env no mesmo diretório e referencie as variáveis com ${VARIAVEL}. Fica mais fácil rotacionar credenciais sem mexer no compose.
Qual VPS escolher para rodar o n8n no Brasil?
Para o n8n funcionar bem, você precisa de pelo menos 1 vCPU, 1 GB de RAM e armazenamento NVMe. Workflows mais complexos, com múltiplos nós e integrações paralelas, pedem 2 GB de RAM ou mais.
O NVMe faz diferença real aqui. O n8n lê e escreve dados de execução o tempo todo. Com NVMe, essa operação é até 10x mais rápida do que em servidores com SSD convencional — o que se traduz em workflows que executam mais rápido e com menos latência.
Se o seu público ou as APIs que você integra estão no Brasil, um VPS com datacenter em São Paulo garante latência baixa. Se você automatiza processos com serviços norte-americanos, um VPS nos EUA tende a ser mais eficiente para essas chamadas.
Conheça os planos de VPS com NVMe da Napoleon em napoleon.com.br e escolha o datacenter que faz mais sentido para o seu caso.
Perguntas Frequentes
O n8n precisa de um VPS dedicado ou funciona em hospedagem compartilhada?
O n8n precisa rodar como um processo contínuo e expor uma porta de rede para webhooks. Hospedagem compartilhada não permite isso. Você precisa de um VPS ou servidor dedicado.
Qual é o mínimo de RAM recomendado para rodar o n8n com Docker?
Para uso básico, 1 GB é suficiente. Para workflows com múltiplas integrações rodando em paralelo, 2 GB ou mais é o recomendado. Monitore o consumo real com docker stats n8n e ajuste conforme o uso crescer.
Preciso de um domínio para rodar o n8n?
Não é obrigatório para uso interno, mas é necessário para configurar HTTPS e para que webhooks externos funcionem corretamente. Sem HTTPS, suas credenciais trafegam em texto puro.
Como faço backup dos meus workflows do n8n?
Todos os dados ficam na pasta ~/.n8n dentro do VPS. Você pode copiar essa pasta manualmente, configurar um script de backup, ou simplesmente contar com o backup diário automático que já acompanha os planos de VPS da Napoleon.
O n8n fica disponível mesmo quando fecho meu computador?
Sim. Com o parâmetro restart: always no docker-compose.yml, o container sobe automaticamente sempre que o VPS reinicia. O serviço fica no ar 24 horas por dia, independente do que acontece na sua máquina local.
Posso rodar múltiplas instâncias do n8n no mesmo VPS?
Sim, desde que cada instância use uma porta diferente e um volume de dados separado. Para isso, basta criar um segundo serviço no docker-compose.yml com configurações distintas.
Como atualizo o n8n para a versão mais recente?
Execute docker compose pull para baixar a imagem mais recente e depois docker compose up -d para recriar o container. Seus workflows e credenciais ficam preservados no volume mapeado.



