Alojar o n8n num VPS por menos de 10 $ por mês
· Por AI Compare
Uma instalação do n8n pronta para produção, com HTTPS e Postgres, pelo preço de um servidor pequeno.
O que obtém
Uma instância do n8n pronta para produção, com HTTPS, uma base de dados a sério e reinícios automáticos, num pequeno servidor privado virtual (VPS). Custo do software: 0 $. Custo do servidor: normalmente 5–10 $ por mês.
Detalhe dos custos
| Item | Custo mensal típico | Notas |
|---|---|---|
| VPS (1–2 vCPU, 2–4 GB de RAM) | 5–10 $ | 1 GB chega para uso ligeiro; com 2 GB ou mais fica mais confortável |
| Nome de domínio | ~1 $ (cerca de 10–15 $/ano) | Opcional, mas necessário para webhooks HTTPS limpos |
| Cópias de segurança / snapshots | 1–2 $ | A maioria dos fornecedores cobra ~20 % do preço do servidor |
| n8n Community Edition | 0 $ | Workflows e execuções ilimitados |
| Total | Cerca de 7–13 $ |
Os preços dos VPS mudam muito em 2026. O droplet de 1 GB da DigitalOcean custa 6 $/mês; os planos «cost-optimised» mais baratos da Hetzner estiveram indisponíveis em alguns momentos este ano. Compare os preços atuais antes de escolher um fornecedor.
Compare com o n8n Cloud Starter, a 20 €/mês por 2500 execuções. Se fizer mais de alguns milhares de execuções por mês, o alojamento próprio paga-se de imediato.
O que precisa
- Um VPS com Ubuntu 22.04 ou 24.04.
- Um domínio ou subdomínio, por exemplo
n8n.yourcompany.com, a apontar para o IP do servidor com um registo A. - Conforto básico com SSH e a linha de comandos.
Passo 1: proteger o servidor
ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y
adduser n8nadmin && usermod -aG sudo n8nadmin
ufw allow OpenSSH && ufw allow 80 && ufw allow 443 && ufw enable
Use chaves SSH e desative o início de sessão por palavra-passe depois de confirmar que o acesso por chave funciona.
Passo 2: instalar o Docker
curl -fsSL https://get.docker.com | sh
usermod -aG docker n8nadmin
Termine a sessão e volte a entrar como n8nadmin.
Passo 3: criar o ficheiro do Docker Compose
Crie uma pasta e um docker-compose.yml:
services:
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: change-this-password
POSTGRES_DB: n8n
volumes:
- db_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: change-this-password
N8N_HOST: n8n.yourcompany.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.yourcompany.com/
GENERIC_TIMEZONE: Europe/Budapest
N8N_ENCRYPTION_KEY: generate-a-long-random-string
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
caddy_data:
db_data:
n8n_data:
E um Caddyfile ao lado:
n8n.yourcompany.com {
reverse_proxy n8n:5678
}
O Caddy obtém e renova automaticamente um certificado HTTPS gratuito.
Passo 4: iniciá-lo
docker compose up -d
Abra https://n8n.yourcompany.com e crie a conta de proprietário.
Passo 5: fazer cópias de segurança como deve ser
- Guarde a
N8N_ENCRYPTION_KEYnum local seguro. Sem ela, as suas credenciais guardadas não podem ser desencriptadas. - Ative as snapshots semanais do seu fornecedor.
- Exporte a base de dados regularmente:
docker compose exec postgres pg_dump -U n8n n8n > backup.sql. - Exporte os workflows em JSON ou ligue o Git (funcionalidade paga) para ter histórico de versões.
Passo 6: atualizar em segurança
docker compose pull
docker compose up -d
Faça uma snapshot antes de atualizações de versão importantes e leia as notas de versão.
De que tamanho de servidor precisa?
| Carga | Tamanho sugerido |
|---|---|
| Alguns workflows, agendamentos leves | 1 vCPU, 1–2 GB de RAM |
| Dezenas de workflows, webhooks, volume moderado | 2 vCPU, 4 GB de RAM |
| Grande volume ou ficheiros grandes e workflows de IA | 4 vCPU, 8 GB de RAM; considere o queue mode com Redis |

