Nota revisada y reescrita el 18 de octubre de 2026: la versión original tenía errores y datos sin fuente.
Ollama sirve modelos abiertos (Llama, Qwen, Gemma, Mistral...) en tu propia máquina con una API HTTP en el puerto 11434. n8n tiene nodos para usarlo directamente. Juntos te dan clasificación, resúmenes o extracción de datos dentro de tus workflows sin pagar por token, siempre que el hardware dé para el modelo. El único punto delicado es la red.
1. Ollama funcionando
ollama pull llama3.2 # o el modelo que quieras
curl http://localhost:11434/api/tags # lista los modelos instalados
Si ese curl responde, Ollama está bien. Si falla, el problema no está en n8n.
2. La credencial en n8n
En n8n, crea una credencial Ollama. Su Base URL por defecto es http://localhost:11434 (o el valor de OLLAMA_HOST si lo has cambiado). Después, en un workflow usa:
- Ollama Chat Model, como modelo de un nodo AI Agent o Basic LLM Chain.
- Ollama Model, para cadenas que esperan un modelo de completado.
- Embeddings Ollama, para indexar documentos en un vector store.
3. El fallo típico: localhost no es localhost
Si n8n corre en Docker, localhost dentro del contenedor es el propio contenedor, no tu máquina. La credencial da ECONNREFUSED aunque el curl del paso 1 funcione. Según dónde esté cada cosa:
n8n en Docker y Ollama instalado en la máquina. Usa http://host.docker.internal:11434. En Docker Desktop (macOS y Windows) ese nombre ya existe. En Linux hay que añadirlo:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
extra_hosts:
- "host.docker.internal:host-gateway"
Y Ollama tiene que escuchar en algo más que 127.0.0.1. Por defecto solo acepta conexiones locales. Cámbialo con la variable OLLAMA_HOST:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
# en Linux con systemd: systemctl edit ollama → Environment="OLLAMA_HOST=0.0.0.0:11434"
Con 0.0.0.0, Ollama queda expuesto en todas las interfaces de la máquina. Si el servidor es accesible desde internet, cierra el puerto 11434 en el firewall: la API de Ollama no tiene autenticación.
Los dos en Docker Compose. Ponlos en la misma red y usa el nombre del servicio: http://ollama:11434.
services:
ollama:
image: ollama/ollama
volumes: ["ollama:/root/.ollama"]
n8n:
image: docker.n8n.io/n8nio/n8n
ports: ["5678:5678"]
volumes:
ollama: {}
Sin Docker. Si localhost falla, la documentación de n8n sugiere probar con http://127.0.0.1:11434: en algunas máquinas localhost resuelve primero a IPv6 (::1) y Ollama solo escucha en IPv4.
4. Alternativa: la API compatible con OpenAI
Ollama también expone una API compatible con la de OpenAI en /v1. Sirve para nodos o herramientas que solo saben hablar "OpenAI": crea una credencial de OpenAI con Base URL http://host.docker.internal:11434/v1 y cualquier clave (Ollama la ignora). El nombre del modelo es el de Ollama (llama3.2).
Lo que hay que tener en cuenta
- El modelo tiene que caber en memoria. Un modelo de 8B cuantizado necesita unos 5 GB de RAM o VRAM. Si no cabe, va lentísimo o no carga. Los timeouts de n8n en ese caso no son un bug de n8n.
- La primera llamada es lenta, porque carga el modelo. Ollama lo descarga de memoria tras un rato sin uso (
keep_alive, 5 minutos por defecto). En workflows esporádicos cada ejecución paga esa carga. - Modelos pequeños y formatos estrictos. Si necesitas JSON fiable, usa el Structured Output Parser de n8n o el parámetro
formatde Ollama, y valida el resultado. Un modelo de 3B se equivoca de formato más a menudo que uno grande.