Estou rodando uma instância do n8n no docker no meu homelab. O problema é que meu homelab está conectado à rede wifi da minha faculdade e uso tailscale como intermediário para acessá-lo. Quando estava testando um workflow (sou iniciante), recebi um erro informando que os webhooks não podiam ser acessados. Perguntei ao ChatGPT e ele me orientou a usar um cloudflared tunnel para abri-lo e aceitar webhooks https. Existe alguma solução alternativa que eu não conheço? Por favor, me ajudem, não quero pagar por um nome de domínio novamente.
Descreva o problema/erro/pergunta
Qual é a mensagem de erro (se houver)?
Por favor, compartilhe seu workflow
(Selecione os nós em sua tela e use os atalhos de teclado CMD+C/CTRL+C e CMD+V/CTRL+V para copiar e colar o workflow.)
@Liruan a URL do webhook precisa ser acessível publicamente. Local significa que não há tráfego de internet entrando.
Duas opções práticas:
Ngrok é a solução mais rápida. Instale, execute “ngrok http 5678”, e você terá uma URL pública com túnel para seu n8n local. Nas configurações do n8n, defina WEBHOOK_URL como o endereço do ngrok. Seu nó de webhook exibirá a URL pública correta. Funciona bem para testes, mas a URL muda a cada reinicialização a menos que você pague por um domínio fixo.
Cloudflare Tunnel é a alternativa gratuita mais limpa. Instale cloudflared, crie um túnel apontando para localhost:5678, e você terá um subdomínio fixo sem custo. Defina isso como seu WEBHOOK_URL e persiste entre reinicializações.
Uma coisa para configurar independentemente: a variável de ambiente WEBHOOK_URL no n8n. Sem ela, o n8n gera URLs de webhook com base na detecção de host e produzirá um endereço localhost que serviços externos não conseguem alcançar.
Qual serviço está enviando o webhook? Alguns têm listas de permissão de IP que você pode configurar, o que muda a abordagem.
Como você já está no Tailscale, existe um caminho ainda mais fácil - Tailscale Funnel. Ele fornece uma URL HTTPS pública estável que roteia diretamente para seu container Docker, sem necessidade de domínio e sem URLs que mudem. Ative-o com tailscale funnel 5678 (assumindo a porta padrão do n8n). Em seguida, defina WEBHOOK_URL=https://your-machine-name.tailnet-name.ts.net nas variáveis de ambiente do Docker do n8n. A URL permanece a mesma entre reinicializações, o que a torna mais limpa do que o ngrok de graça para configurações de homelab de longa duração.