Apresentação de n8n
O n8n é uma ferramenta visual de automação de workflows. Você liga nós (webhooks, requisições HTTP, bancos de dados, e-mail, serviços SaaS) em um canvas e insere código JavaScript ou Python quando um nó não basta. Auto-hospedado, ele mantém seus dados e credenciais na sua própria máquina, e não nas mãos de terceiros.
Na entrega, o script da receita instala o Docker caso ele não esteja presente e sobe dois contêineres com Docker Compose a partir de /opt/n8n: o n8n (imagem docker.n8n.io/n8nio/n8n:latest) e o Caddy 2. O n8n escuta apenas em 127.0.0.1:5678. O Caddy, em modo de rede host, publica o serviço em HTTPS na porta 443 e encaminha as requisições ao n8n.
O certificado é autoassinado (diretiva tls internal do Caddy) e vinculado ao endereço IP público do servidor. Por isso o navegador exibirá um aviso na primeira visita, o que é normal enquanto nenhum nome de domínio estiver associado. Os dados do n8n ficam em um volume Docker (n8n_data) e o fuso horário está configurado como Europe/Paris.
O que pode fazer com n8n
Editor visual de workflows
Você monta gatilhos, condições e ações em um canvas. Cada execução pode ser inspecionada nó a nó, o que facilita bastante a depuração.
Webhooks e chamadas HTTP
Um workflow pode ser iniciado por uma requisição recebida ou consultar qualquer API REST. O servidor já está configurado para montar as URLs de webhook em HTTPS.
Código JavaScript ou Python
Um nó Code permite transformar dados ou escrever uma lógica que os nós padrão não cobrem, sem sair do workflow.
Dados no seu servidor
Workflows, credenciais e histórico de execução permanecem no volume Docker
n8n_datado seu VPS, hospedado em Paris ou Frankfurt.HTTPS com Caddy desde o início
O n8n continua vinculado a
127.0.0.1e apenas o Caddy é exposto na porta 443. Migrar para um certificado válido se resume a editar um arquivo.Inicialização automática
Os dois contêineres são declarados com
restart: always. Depois de uma reinicialização do servidor, o n8n e o Caddy voltam a funcionar sem intervenção.
Começar com n8n
Da encomenda à produção em poucos minutos.
- 1
Peça o VPS com o n8n
Escolha um VPS Linux em Paris ou Frankfurt e marque o n8n na aba «Applications» do formulário de pedido. Estão disponíveis Debian 12, Debian 13, Ubuntu 20.04, 22.04 e 24.04.
- 2
Aguarde a entrega e verifique
O script é executado na primeira inicialização: instala o Docker e sobe os contêineres, o que leva alguns minutos. Conecte-se por SSH com os acessos da entrega e confirme que o n8n e o Caddy estão em execução.
Bashcd /opt/n8n && docker compose ps - 3
Crie a conta de proprietário
Abra https://SERVER_IP no navegador e aceite o aviso do certificado autoassinado. O n8n pedirá que você crie a conta de proprietário, que é a conta que administra a instância.
- 4
Migre para um domínio com HTTPS
Crie um registro DNS A de YOUR_DOMAIN apontando para SERVER_IP e depois substitua o Caddyfile e as variáveis do n8n. O Caddy obtém automaticamente um certificado reconhecido, desde que as portas 80 e 443 estejam acessíveis.
Bashcd /opt/n8n cat > Caddyfile <<'EOF' YOUR_DOMAIN { reverse_proxy 127.0.0.1:5678 } EOF sed -i 's|N8N_HOST=.*|N8N_HOST=YOUR_DOMAIN|; s|WEBHOOK_URL=.*|WEBHOOK_URL=https://YOUR_DOMAIN/|' docker-compose.yml docker compose up -d docker compose restart caddy
Casos de uso de n8n
Sincronizar suas ferramentas de negócio
Um novo lead em um formulário cria um registro no CRM, envia um e-mail de confirmação e avisa a equipe em um aplicativo de mensagens. Tudo cabe em um único workflow.
Processar webhooks recebidos
Pagamentos, repositórios Git ou alertas de monitoramento podem disparar workflows que filtram, enriquecem e redistribuem os eventos. Isso exige um nome de domínio com certificado válido, pois a maioria dos serviços recusa um certificado autoassinado.
Automatizar tarefas agendadas
Exportações de banco de dados, relatórios semanais, limpeza de dados: um gatilho cron substitui scripts espalhados por várias máquinas.
Integrar modelos de IA
O n8n consegue chamar APIs de modelos de linguagem dentro de um workflow, por exemplo para classificar tickets ou resumir e-mails antes de encaminhá-los à pessoa certa.
Perguntas frequentes sobre n8n
O certificado é gerado pelo Caddy (tls internal) para o endereço IP do servidor: nenhuma autoridade pública pode emitir um certificado para um IP nessa configuração. A criptografia está ativa, mas o certificado não é reconhecido. Associe um nome de domínio e o Caddy obterá um certificado válido.
Mais sobre n8n
Arquivos instalados
Tudo fica em /opt/n8n: o script install-n8n.sh, o arquivo docker-compose.yml e o Caddyfile. Três volumes Docker são criados: n8n_data (dados do n8n, incluindo a chave de criptografia das credenciais), caddy_data e caddy_config.
As variáveis N8N_HOST e WEBHOOK_URL contêm o endereço IP público detectado durante a instalação. Se você trocar de endereço ou de domínio, atualize-as. Caso contrário, as URLs de webhook exibidas na interface ficarão erradas.
Firewall
O n8n não é exposto diretamente, mas a porta 443 é aberta pelo Caddy. Restrinja o restante: SSH, 80 (necessária para a emissão do certificado Let's Encrypt) e 443 são suficientes.
Bashufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
Libere o SSH antes de ativar o firewall, ou você perderá a sessão.
Backups
O essencial está no volume de dados do n8n. O Docker Compose prefixa o nome do volume com o do diretório do projeto: confira com docker volume ls (normalmente ele se chama n8n_n8n_data) e depois faça o arquivamento.
Bashdocker run --rm -v n8n_n8n_data:/data -v /root:/backup alpine \ tar czf /backup/n8n-data-$(date +%F).tar.gz -C /data .
Copie o arquivo para fora do servidor. Sem a chave de criptografia contida nesse volume, as credenciais salvas no n8n não podem ser recuperadas.
Atualizações
O arquivo Compose usa a tag latest. Para atualizar:
Bashcd /opt/n8n docker compose pull docker compose up -d
Faça um backup antes. Em uma instância de produção, você pode substituir latest por um número de versão específico em docker-compose.yml e subir de versão quando decidir, depois de ler as notas de lançamento.
