Oye a todos, así que he estado teniendo algunos desafíos, estoy intentando construir un asistente de IA para WhatsApp y ejecuto n8n con docker en mi computadora local. El problema es que la URL de prueba y la URL de producción muestran localhost incluso después de configurar ENV en la URL de ngrok en portainer.
Describe el problema/error/pregunta
¿Cuál es el mensaje de error (si lo hay)?
Por favor comparte tu flujo de trabajo
(Selecciona los nodos en tu lienzo y usa los atajos de teclado CMD+C/CTRL+C y CMD+V/CTRL+V para copiar y pegar el flujo de trabajo.)
Comparte la salida devuelta por el último nodo
Información sobre tu configuración de n8n
- versión de n8n: 2.28.2
- Base de datos (predeterminada: SQLite): docker
- Configuración de n8n EXECUTIONS_PROCESS (predeterminada: own, main):
- Ejecutando n8n a través de (Docker, npm, n8n cloud, aplicación de escritorio): docker
- Sistema operativo: windows
@Stoneage
¿Configuraste webhook_url a tu subdominio de ngrok?
¡Hola @Stoneage! ¡Bienvenido!
Las URLs se quedan en localhost porque la variable nunca llega realmente al contenedor. El panel de “Variables de entorno” de Portainer en un stack solo alimenta la sustitución ${VAR} dentro del archivo compose, no inyecta nada en el contenedor, por lo que el servicio en sí tiene que declararlo:
services:
n8n:
environment:
- WEBHOOK_URL=https://your-subdomain.ngrok-free.app/
- N8N_PROXY_HOPS=1
Redeploy el stack para que el contenedor se recree, un simple reinicio mantiene el env antiguo. Luego confirma que llegó:
docker exec <your-n8n-container> printenv WEBHOOK_URL
Re-abre el flujo de trabajo y las URLs de prueba y producción llevarán el host de ngrok. En el plan gratuito de ngrok el subdominio cambia en cada reinicio, por lo que el valor tiene que actualizarse cada vez a menos que uses un dominio estático.