Como hospedar o n8n
Para hospedar o n8n você pode usar a nuvem do próprio n8n, que cuida de tudo, ou um servidor próprio (VPS) com Docker Compose, PostgreSQL e um proxy reverso com HTTPS. No servidor próprio, três cuidados evitam a maioria dos problemas: fixar a N8N_ENCRYPTION_KEY, informar a URL pública de webhooks e fazer backup do banco e da chave.
Atualizado em · Por Luis Henrique Cuba
As opções de hospedagem
Se você só quer testar no seu computador, o guia de como instalar o n8n mostra o comando com Docker ou npx. Este guia trata do passo seguinte: deixar o n8n na internet, estável e seguro.
n8n Cloud
Nada para instalar nem atualizar. Em 10/10/2026, os planos começavam no Starter, por 20 euros por mês no pagamento anual, com 2.500 execuções mensais. Confira a página de preços do n8n, porque os valores mudam.
VPS com Docker Compose
Um servidor Linux alugado, com n8n, PostgreSQL e proxy reverso em contêineres. Você controla os dados e o custo é o do servidor, mas a manutenção é sua.
Servidor da própria empresa
Mesma montagem da VPS, num servidor interno. Faz sentido quando o n8n precisa falar com sistemas que não estão na internet, como um ERP local. Os webhooks externos ainda exigem um endereço público.
Plataformas com instalação pronta
Alguns provedores de VPS e de PaaS oferecem o n8n pré-instalado. Agilizam o começo, mas confira a versão instalada, onde ficam os dados e como funciona o backup.
Variáveis que você não pode esquecer
N8N_ENCRYPTION_KEY
Chave que criptografa as credenciais no banco. Se você não informar, o n8n gera uma aleatória na primeira inicialização e a guarda na pasta de dados. Defina uma você mesmo antes do primeiro uso e guarde-a fora do servidor: sem ela, um backup do banco não abre as credenciais.
N8N_WEBHOOK_URL (antiga WEBHOOK_URL)
Atrás de um proxy, o n8n escuta na porta 5678, mas o público chega pela 443. Sem essa variável, ele monta a URL de webhook errada e registra o endereço errado em serviços como a Meta. Segundo a documentação do n8n, a WEBHOOK_URL está obsoleta desde a versão 2.35.0 e virou um apelido da N8N_WEBHOOK_URL: ainda funciona, mas gera um aviso na inicialização. Em versões anteriores à 2.35.0, use WEBHOOK_URL.
N8N_HOST, N8N_PROTOCOL e N8N_PORT
Nome do host, protocolo (https) e porta interna (5678) em que o n8n roda.
N8N_PROXY_HOPS
Número de proxies reversos na frente do n8n. Com um proxy, use 1. O proxy precisa repassar os cabeçalhos X-Forwarded-For, X-Forwarded-Host e X-Forwarded-Proto; o reverse_proxy do Caddy, usado no exemplo abaixo, já faz isso por padrão.
GENERIC_TIMEZONE e TZ
Fuso dos agendamentos. Sem isso, um fluxo marcado para as 8h roda no horário de outro fuso. Use America/Sao_Paulo.
DB_TYPE e DB_POSTGRESDB_*
O padrão é SQLite. Para produção, use PostgreSQL com DB_TYPE=postgresdb e as variáveis de host, banco, usuário e senha.
Exemplo de docker-compose.yml com PostgreSQL e HTTPS
services:
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: n8n
volumes:
- postgres_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n:${N8N_VERSION}
restart: unless-stopped
depends_on:
- postgres
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.suaempresa.com.br
N8N_PROTOCOL: https
N8N_PORT: 5678
N8N_WEBHOOK_URL: https://n8n.suaempresa.com.br/
N8N_PROXY_HOPS: 1
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:
postgres_data:
n8n_data:
caddy_data:
# ---- Caddyfile (mesma pasta) ----
# n8n.suaempresa.com.br {
# reverse_proxy n8n:5678
# }
# ---- .env (mesma pasta, fora do Git) ----
# N8N_VERSION=<versão estável que você testou>
# POSTGRES_PASSWORD=<senha longa>
# N8N_ENCRYPTION_KEY=<gere com: openssl rand -hex 32>Colocando no ar
- 01
Contrate a VPS
Linux com Docker e Docker Compose instalados. Confira na documentação do n8n os requisitos de memória para o volume de fluxos que você espera.
- 02
Aponte o subdomínio
Crie um registro A, como n8n.suaempresa.com.br, para o IP do servidor. O guia de como conectar domínio explica o DNS.
- 03
Libere só o necessário
No firewall, abra as portas 80 e 443 (e a do SSH). A porta 5678 do n8n não deve ficar exposta.
- 04
Suba os contêineres
Na pasta com o docker-compose.yml, o Caddyfile e o .env.
docker compose up -d - 05
Crie o administrador
Abra https://n8n.suaempresa.com.br, crie a conta de dono com senha forte e ative a autenticação em dois fatores.
- 06
Teste um webhook de fora
Crie um fluxo com o nó Webhook e chame a URL de produção a partir de outro computador. Se a URL mostrada no editor tiver :5678 ou http, a N8N_WEBHOOK_URL está errada.
Backup e atualização
- A N8N_ENCRYPTION_KEY está guardada num cofre de senhas, fora do servidor.
- O backup sai do servidor todo dia e já foi restaurado ao menos uma vez num ambiente de teste.
- A versão do n8n está fixada no .env, e não em latest, para a atualização acontecer quando você decidir.
- Evite o export com --decrypted: ele grava as senhas das integrações em texto puro.
# Banco PostgreSQL inteiro (fluxos, credenciais criptografadas, histórico)
docker compose exec -T postgres pg_dump -U n8n -Fc n8n > n8n_$(date +%F).dump
# Fluxos e credenciais em arquivos separados (credenciais continuam criptografadas)
docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/
docker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/
# Atualizar: troque N8N_VERSION no .env, depois
docker compose pull && docker compose up -dComo hospedar o n8n: dúvidas comuns
Quanto custa hospedar o n8n numa VPS?
O custo é o do servidor, que varia por provedor e por tamanho, além do domínio. A licença da Community Edition não é cobrada para uso interno na empresa. Some o tempo de quem vai cuidar de atualização e backup, que é o custo que costuma ser esquecido.
Posso usar SQLite em produção?
O n8n usa SQLite por padrão e funciona para volumes pequenos. Para produção, PostgreSQL é a escolha mais segura: aguenta melhor vários fluxos rodando ao mesmo tempo e tem ferramentas de backup maduras, como o pg_dump.
Perdi a chave de criptografia. E agora?
As credenciais salvas não podem ser abertas sem ela. Os fluxos continuam no banco, mas você terá de cadastrar de novo todas as credenciais (tokens, senhas, chaves de API) e, por segurança, gerar outras nos serviços de origem.
Dá para hospedar o n8n de graça?
Dá para rodar no seu computador ou num servidor que a empresa já tem. Para receber webhooks de fora, você ainda precisa de endereço público e HTTPS, o que normalmente significa algum custo de servidor ou de túnel.
Posso hospedar o n8n e vender o acesso para clientes?
Não sob a licença da Community Edition. Ela permite uso interno e cobrar por consultoria e montagem de fluxos, mas não hospedar o n8n para clientes construírem os próprios fluxos. Para isso, fale com o n8n sobre um acordo comercial.
Perguntas parecidas
Precisa de ajuda para resolver isso na sua empresa?
Respondemos em até 24 horas com as próximas perguntas e uma proposta objetiva.