Si n8n se ejecuta en Docker, localhost dentro del contenedor n8n no apunta a tu máquina anfitriona. Debes usar la IP de la puerta de enlace del host de Docker.
# Prueba desde dentro del contenedor n8n
docker exec -it <n8n_container_name> curl http://host.docker.internal:11434/api/tags
# O usa la IP de LAN de tu anfitrión (p. ej. 192.168.x.x)
docker exec -it <n8n_container_name> curl http://192.168.1.x:11434/api/tags
En las credenciales de tu nodo Ollama Chat Model, establece la URL base en:
http://host.docker.internal:11434
# O
http://<your-host-LAN-IP>:11434
Nohttp://localhost:11434 — eso falla dentro de Docker.
Si la lista de modelos está vacía o el nombre del modelo en n8n no coincide exactamente, Ollama falla silenciosamente y n8n no obtiene respuesta.
ollama list
# Debe mostrar al menos un modelo, p. ej. llama3.2:latest
¿estás utilizando el nodo independiente Chat Trigger, o el disparador más antiguo “When chat message received”? Se comportan de manera diferente, y el más antiguo requiere que el flujo de trabajo esté activo antes de que la ventana de chat de prueba se abra en absoluto.
en realidad lo sé, así que puse ollama y n8n en la misma red docker. y también probé la conexión entre ollama y n8n, configurando json como: - funciona. solo que el nodo de mensaje de chat no funcionó.
Si tu navegador accede a n8n a través de una IP de LAN, dominio o proxy inverso, N8N_HOST, N8N_PROTOCOL, WEBHOOK_URL y a veces N8N_EDITOR_BASE_URL deben apuntar a la dirección real que utiliza tu navegador, no a un nombre de host interno de Docker.
Utiliza valores de copiar y pegar como este, ajustando según tu host:
El patrón de fallo común es: el flujo de trabajo se ejecuta en el servidor, pero el cliente de chat no puede recibir la respuesta porque n8n anuncia un host o URL de webhook inaccesible.
También hay un caso reportado donde este síntoma exacto de Ollama + AI Agent + Chat Trigger fue confirmado como un error de webhook, y actualizar n8n lo solucionó. Entonces, si estás en una versión antigua o con problemas recientes, actualiza primero antes de pasar demasiado tiempo depurando el flujo de trabajo en sí.
Hola @Elimelikeli
«When chat message received» es el Chat Trigger, no hay un segundo nodo o uno más antiguo, ese es su nombre. No tiene un icono de ejecución propio, por eso el nodo se ve inactivo en el lienzo. El control es el botón «Open chat» en la parte inferior del lienzo, y solo aparece una vez que la salida principal del trigger está conectada a un nodo de agente o cadena. Arrastra desde el punto en el borde derecho de «When chat message received» hacia la entrada izquierda de tu AI Agent, guarda, y el botón aparecerá.
Necesitas definir explícitamente tu URL externa para que la interfaz de n8n sepa dónde enviar (POST) los mensajes del chat.
Abre tu docker-compose.yml (o tu script de Docker run) y añade la variable de entorno WEBHOOK_URL bajo tu servicio n8n:
services:
n8n:
image: docker.n8n.io/obom/n8n:latest
# ... otras configuraciones ...
environment:
- WEBHOOK_URL=http://<TU_IP_PÚBLICA>:5678/
# Añade esto si no lo has hecho ya para evitar problemas de CORS en la interfaz
- N8N_HOST=<TU_IP_PÚBLICA>
ports:
- "5678:5678"
(Reemplaza <TU_IP_PÚBLICA> con la dirección IP real de tu servidor).
Aplica los cambios recreando el contenedor:
docker compose down
docker compose up -d
Tu nodo “When chat message received” muestra un banner púrpura: “This data is pinned for test executions.” Cuando se fija un disparador, n8n ignora la entrada en vivo (como la ventana del chat) y solo produce el JSON fijo pinned.
Haz clic en el botón Unpin en el nodo del disparador.
Haz clic en Test Workflow de nuevo y luego escribe «hi» en la ventana del chat.
Dado que la conexión a Ollama funciona pero el Chat Message Trigger no, el problema probablemente esté en la configuración del trigger en lugar del modelo en sí. Revisaría algunas cosas:
Asegúrate de usar una versión reciente de n8n, ya que ha habido correcciones para el comportamiento del Chat Trigger.
Verifica que el workflow esté activo (no solo en modo de prueba) si estás usando el chat alojado.
Consulta la pestaña Executions del workflow para ver si el trigger se dispara en absoluto cuando envías un mensaje.
Si ejecutas n8n y Ollama en contenedores Docker separados, confirma que puedan comunicarse usando la dirección de host correcta en lugar de localhost, y verifica que el endpoint de Ollama sea accesible desde el contenedor de n8n.
También sería útil que compartieras tu versión de n8n, si estás usando Docker o una instalación nativa de Ubuntu, y si el Chat Trigger recibe el mensaje pero no produce salida, o nunca se dispara en primer lugar. Eso reducirá considerablemente la causa.