Como instalar o n8n numa VPS com Docker e HTTPS (passo a passo)
Suba seu próprio n8n em 15 minutos, com domínio, HTTPS automático e dados persistentes. Sem limite de execuções e sem pagar por fluxo.

Por que hospedar o próprio n8n
O n8n é uma das ferramentas de automação mais usadas por quem integra sistemas, CRMs, planilhas e WhatsApp. Ele pode ser usado na nuvem oficial, que cobra por execução, ou instalado no seu próprio servidor.
Rodando numa VPS, você tem:
- execuções ilimitadas: o limite é o tamanho da máquina, não o plano;
- dados no seu controle: credenciais e históricos ficam no seu servidor;
- IP fixo: útil quando uma API de terceiros só aceita chamadas de IPs liberados;
- custo previsível: um valor mensal fixo, independente de quantos fluxos você roda.
O que você vai precisar
- Uma VPS Linux (Ubuntu ou Debian) com pelo menos 2 GB de RAM. Para começar, um VPS Start (1 vCPU, 2 GB de RAM, 20 GB NVMe) dá conta de dezenas de fluxos.
- Acesso root por SSH.
- Um domínio ou subdomínio, por exemplo
n8n.suaempresa.com.br.
1. Aponte o domínio para a VPS
No painel de DNS do seu domínio, crie um registro A:
| Tipo | Nome | Valor |
|---|---|---|
| A | n8n | IP da sua VPS |
A propagação costuma levar poucos minutos. Para conferir, rode ping n8n.suaempresa.com.br e veja se responde o IP da VPS.
2. Instale o Docker
Entre na VPS:
ssh root@IP_DA_VPS
Instale o Docker com o script oficial:
curl -fsSL https://get.docker.com | sh
O Docker Compose já vem junto. Confira com docker compose version.
3. Crie o projeto
mkdir -p /opt/n8n && cd /opt/n8n
Crie o arquivo docker-compose.yml:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
environment:
- N8N_HOST=n8n.suaempresa.com.br
- N8N_PROTOCOL=https
- N8N_PORT=5678
- WEBHOOK_URL=https://n8n.suaempresa.com.br/
- GENERIC_TIMEZONE=America/Sao_Paulo
- TZ=America/Sao_Paulo
volumes:
- n8n_data:/home/node/.n8n
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
volumes:
n8n_data:
caddy_data:
E o Caddyfile, que cuida do HTTPS:
n8n.suaempresa.com.br {
reverse_proxy n8n:5678
}
O Caddy emite e renova o certificado HTTPS sozinho. Não precisa configurar Certbot.
4. Suba tudo
docker compose up -d
Em menos de um minuto, abra https://n8n.suaempresa.com.br e crie a conta de administrador.
5. Cuidados para produção
- Backup: os fluxos e credenciais ficam no volume
n8n_data. Exporte de tempos em tempos, ou use o backup da própria hospedagem. - Atualização: para atualizar o n8n, rode
docker compose pull && docker compose up -d. Os dados continuam no volume. - Firewall: só as portas 22, 80 e 443 precisam ficar abertas. A 5678 fica fechada, porque o acesso passa pelo Caddy.
- Webhooks: com
WEBHOOK_URLconfigurado, os links de webhook do n8n já saem com o seu domínio e HTTPS, prontos para usar em WhatsApp, formulários e gateways de pagamento.
Problemas comuns
O navegador mostra erro de certificado. O DNS ainda não apontou para a VPS, ou a porta 80 está bloqueada. O Caddy precisa da porta 80 para validar o domínio.
Os webhooks saem com localhost. Falta a variável WEBHOOK_URL. Ajuste o docker-compose.yml e rode docker compose up -d de novo.
O n8n fica lento com muitos fluxos. Veja o uso de memória com docker stats. Se passar de 80% com frequência, é hora de uma VPS com mais RAM.
Onde rodar
Na NullNinja, o VPS Start custa R$ 54,98/mês, com 1 vCPU, 2 GB de RAM, 20 GB NVMe, acesso root e IP fixo incluso, em datacenter em São Paulo. É mensal, sem fidelidade e com reembolso integral em até 7 dias.
Travou em algum passo? Chama no WhatsApp: (65) 99233-0983.