n8n con Ollama en Ubuntu es una excelente combinación para automatizar tareas utilizando inteligencia artificial sin depender de servicios en la nube ni pagar por cada consulta a una API. Con n8n puedes conectar diferentes aplicaciones y crear flujos de trabajo, mientras que Ollama se encarga de ejecutar los modelos de IA directamente en tu ordenador o servidor.
Esta combinación permite construir automatizaciones en las que los datos pueden permanecer dentro de tu propia infraestructura. Por ejemplo, puedes utilizar un modelo local para clasificar textos, resumir documentos, analizar información o generar respuestas dentro de un flujo de n8n.
En este tutorial veremos cómo instalar n8n mediante Docker en Ubuntu y conectarlo con una instalación de Ollama que se ejecuta directamente en el sistema.
Importante: n8n y Ollama no tienen que ejecutarse necesariamente en el mismo entorno. En este tutorial n8n estará dentro de Docker, mientras que Ollama se ejecutará directamente en Ubuntu. Esto requiere configurar correctamente la comunicación entre el contenedor y el sistema anfitrión.
Qué necesitas
Antes de comenzar, necesitas:
- Un PC o servidor con Ubuntu.
- Docker y Docker Compose instalados.
Si todavía no tienes Docker instalado en Ubuntu, puedes consultar nuestra guía sobre cómo instalar Docker en Ubuntu.
- Ollama instalado y funcionando.
Si aún no tienes Ollama instalado y funcionando en Ubuntu, consulta nuestra guía sobre cómo instalar Ollama en Ubuntu.
- Al menos un modelo descargado en Ollama.
- Acceso a una terminal con permisos para ejecutar Docker.
Antes de elegir un modelo, conviene comprobar los requisitos para ejecutar IA local, especialmente la cantidad de RAM y VRAM necesaria según el tamaño del modelo.
Cómo funciona la arquitectura
Antes de instalar nada conviene entender cómo se comunicarán los componentes.
La arquitectura será:
┌───────────────────────────────┐
│ Ubuntu │
│ │
│ ┌───────────────────────┐ │
│ │ Ollama │ │
│ │ Puerto 11434 │ │
│ └───────────┬───────────┘ │
│ │ │
│ │ HTTP API │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ Docker │ │
│ │ │ │
│ │ ┌───────────────┐ │ │
│ │ │ n8n │ │ │
│ │ │ Puerto 5678 │ │ │
│ │ └───────────────┘ │ │
│ └───────────────────────┘ │
└───────────────────────────────┘El punto importante es que localhost dentro del contenedor de n8n no es el mismo localhost de Ubuntu.

Por eso, si Ollama está instalado en Ubuntu y n8n dentro de Docker, debemos utilizar una dirección que permita al contenedor acceder al sistema anfitrión.
Paso 1: Comprobar que Ollama funciona
Antes de instalar n8n, verifica que Ollama esté funcionando correctamente.
Puedes comprobar los modelos instalados con:
ollama listDeberías obtener una lista similar a:
NAME ID SIZE
llama3.2:latest xxxxxxxx 2.0 GBTambién puedes comprobar que la API de Ollama responde:
curl http://127.0.0.1:11434/api/tagsSi Ollama está funcionando, devolverá información en formato JSON con los modelos disponibles.
También puedes realizar una prueba directa:
ollama run llama3.2Sustituye llama3.2 por el modelo que tengas instalado.
Si esta prueba funciona, Ollama está preparado para recibir peticiones.
Paso 2: Crear el directorio de n8n
Crea un directorio independiente para la instalación:
mkdir -p ~/n8n-docker
cd ~/n8n-dockerA continuación, crea el archivo de Docker Compose:
nano docker-compose.ymlPaso 3: Crear el docker-compose.yml
Introduce esta configuración:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- GENERIC_TIMEZONE=America/Santiago
- TZ=America/Santiago
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Guarda el archivo con:
Ctrl + OPulsa Enter y después:
Ctrl + X¿Qué hace esta configuración?
Hay varios elementos importantes.
image
image: docker.n8n.io/n8nio/n8nUtiliza la imagen oficial de n8n.
restart
restart: unless-stoppedHace que Docker vuelva a iniciar n8n después de un reinicio del sistema, salvo que hayas detenido el contenedor manualmente.
ports
ports:
- "5678:5678"Expone el puerto 5678 del contenedor en el mismo puerto del sistema anfitrión.
Por eso podrás acceder posteriormente a:
http://localhost:5678volumes
volumes:
- n8n_data:/home/node/.n8nEste punto es fundamental.
Los datos de n8n se almacenan en un volumen persistente para que los workflows, credenciales y configuración no desaparezcan cuando el contenedor se reinicie o se vuelva a crear.
extra_hosts
extra_hosts:
- "host.docker.internal:host-gateway"Esta configuración permite que el contenedor pueda resolver host.docker.internal hacia el sistema anfitrión.
Es precisamente lo que necesitamos para que n8n pueda comunicarse con Ollama instalado fuera de Docker.
Paso 4: Iniciar n8n
Desde el directorio ~/n8n-docker, ejecuta:
docker compose up -dDocker descargará la imagen de n8n si todavía no está disponible localmente y creará el contenedor.
Comprueba su estado:
docker psDeberías encontrar un contenedor llamado n8n con el puerto 5678 publicado.
También puedes revisar los registros:
docker compose logs -f n8nPara salir de los registros sin detener n8n, pulsa:
Ctrl + CPaso 5: Abrir n8n
En el mismo equipo donde has instalado n8n, abre:
http://localhost:5678Si accedes desde otro ordenador de la red local, puedes utilizar la dirección IP del servidor:
http://IP_DEL_SERVIDOR:5678Por ejemplo:
http://192.168.1.50:5678Advertencia de seguridad: no deberías exponer directamente el puerto 5678 a Internet sin una configuración de seguridad adecuada. Para una instalación pública conviene utilizar HTTPS, un dominio y un proxy inverso, además de las medidas de autenticación correspondientes.
Paso 6: Comprobar que n8n puede acceder a Ollama
Aquí está la parte que suele provocar problemas cuando n8n y Ollama están instalados en entornos diferentes.
Desde Ubuntu, Ollama normalmente escucha su API en:
http://127.0.0.1:11434Pero desde el contenedor de n8n no debes utilizar localhost:11434.
En nuestra configuración utilizaremos:
http://host.docker.internal:11434La diferencia es importante:
localhostsignifica el propio contenedor de n8n.
En cambio:
host.docker.internalpermite llegar al sistema anfitrión donde está ejecutándose Ollama. Para conocer más sobre este tipo de comunicación entre contenedores y el sistema anfitrión, consulta la documentación oficial sobre redes de Docker.
Paso 7: Configurar Ollama para aceptar conexiones desde Docker
Dependiendo de cómo esté configurado Ollama, puede ser necesario hacer que su servidor escuche en una interfaz accesible desde el contenedor.
Comprueba primero cómo está funcionando actualmente:
ss -lntp | grep 11434Si Ollama está escuchando solamente en:
127.0.0.1:11434el contenedor podría no conseguir conectarse.
En ese caso, debes configurar Ollama para escuchar en una dirección accesible desde Docker.
Si utilizas Ollama como servicio de systemd, puedes configurar la variable:
OLLAMA_HOST=0.0.0.0:11434Después reinicia Ollama:
sudo systemctl restart ollamaY vuelve a comprobar:
ss -lntp | grep 11434Importante: escuchar en
0.0.0.0hace que Ollama pueda aceptar conexiones en las interfaces de red disponibles. Si el equipo es accesible desde otras redes, revisa el firewall y evita exponer innecesariamente el puerto 11434 a Internet.

Paso 8: Conectar n8n con Ollama
Ahora podemos configurar n8n con Ollama en Ubuntu. Crea un nuevo Workflow y añade el nodo relacionado con Ollama dentro de las funciones de IA de n8n.
Crea un nuevo Workflow y añade el nodo relacionado con Ollama dentro de las funciones de IA de n8n.
Dependiendo de la versión de n8n, la interfaz y la ubicación exacta del nodo pueden cambiar. Lo importante es seleccionar la integración de Ollama como proveedor del modelo.
Cuando n8n solicite la dirección del servidor, utiliza:
http://host.docker.internal:11434No utilices:
http://localhost:11434cuando n8n esté ejecutándose dentro del contenedor.
A continuación, selecciona el modelo disponible en Ollama.
Por ejemplo:
llama3.2o cualquier otro modelo que hayas descargado.
Paso 9: Crear una primera automatización con IA local
Una vez establecida la conexión, puedes crear un workflow sencillo para comprobar que todo funciona.
Una arquitectura básica podría ser:
Trigger
↓
Entrada de texto
↓
Ollama
↓
Procesamiento de la respuesta
↓
SalidaPor ejemplo:
Manual Trigger
↓
Ollama
↓
ResultadoEl objetivo inicial no debería ser construir un agente complejo, sino comprobar que la comunicación entre n8n y Ollama funciona correctamente.
Una vez validada la conexión puedes añadir otros servicios y nodos.
Qué puedes automatizar con n8n + Ollama
La combinación de automatización y modelos locales permite crear flujos bastante más interesantes que una simple conversación con un chatbot.
Algunos ejemplos son:
Clasificar información
Puedes recibir textos y pedir a Ollama que los clasifique según determinadas categorías.
Entrada
↓
Ollama
↓
Clasificación
↓
Acción correspondienteResumir documentos
Un workflow puede recibir contenido, enviarlo al modelo local y generar un resumen.
Documento
↓
Extracción de texto
↓
Ollama
↓
ResumenProcesar correos electrónicos
n8n puede recibir mensajes de correo, extraer su contenido y utilizar un modelo local para clasificarlos o generar una respuesta preliminar.
La respuesta puede quedar posteriormente pendiente de revisión humana antes de enviarse.
Automatizar tareas con WordPress
También puedes combinar n8n con WordPress mediante su API para crear flujos relacionados con contenidos, análisis o gestión del sitio.
Por ejemplo:
Nueva información
↓
Ollama
↓
Clasificación/análisis
↓
WordPressEn este tipo de automatizaciones es recomendable separar la generación de contenido de la publicación automática, especialmente cuando se trabaja con un sitio que depende del tráfico orgánico.
n8n + Ollama: ventajas y limitaciones
La principal ventaja de esta arquitectura es que puedes combinar la automatización de n8n con la ejecución local de modelos de IA.
Ventajas
- Los modelos pueden ejecutarse en tu propia infraestructura.
- No necesitas enviar cada prompt a una API externa.
- Puedes evitar costes variables por token de determinadas APIs.
- Los workflows de n8n permiten conectar numerosos servicios.
- Puedes utilizar diferentes modelos locales según la tarea.
- Es una arquitectura especialmente interesante para servidores Linux y laboratorios de IA local.
Limitaciones
La IA local tampoco es gratuita en sentido absoluto.
Necesitas hardware capaz de ejecutar el modelo y ese hardware consume electricidad. Además, los modelos grandes pueden requerir cantidades considerables de RAM o VRAM.
El rendimiento también depende directamente de tu CPU, GPU, memoria y almacenamiento.
Por eso, antes de elegir un modelo conviene comprobar los requisitos de hardware.
¿Qué ocurre si n8n y Ollama están ambos dentro de Docker?
Existe otra arquitectura posible: ejecutar n8n y Ollama como contenedores dentro de la misma red Docker.
En ese caso no utilizarías:
http://host.docker.internal:11434sino el nombre del servicio Docker, por ejemplo:
http://ollama:11434si el servicio de Ollama se llama ollama.
La ventaja de esta arquitectura es que ambos servicios pueden comunicarse directamente a través de la red interna de Docker.
Sin embargo, para un primer despliegue en Ubuntu puede resultar más sencillo mantener Ollama instalado directamente en el sistema y n8n dentro de Docker, como hemos hecho en este tutorial.
Solución de problemas
n8n no abre en el navegador
Comprueba que el contenedor está ejecutándose:
docker psSi no aparece, consulta los registros:
docker compose logs n8nTambién puedes comprobar si el puerto está abierto:
ss -lntp | grep 5678n8n no consigue conectarse con Ollama
El primer punto que debes comprobar es la URL.
Si n8n está dentro de Docker y Ollama está instalado en Ubuntu, prueba:
http://host.docker.internal:11434No:
http://localhost:11434Comprueba también que Ollama está ejecutándose:
systemctl status ollamaY que responde desde Ubuntu:
curl http://127.0.0.1:11434/api/tagsSi responde desde Ubuntu pero no desde n8n, revisa la dirección de escucha de Ollama y la configuración de red de Docker.
El modelo no aparece en n8n
Comprueba primero que el modelo realmente está instalado:
ollama listSi no aparece, descarga uno:
ollama pull llama3.2Después vuelve a seleccionar o introducir el modelo desde la configuración de Ollama en n8n.
Seguridad: no expongas Ollama directamente a Internet
La API de Ollama no debería publicarse directamente en Internet sin una razón concreta y una capa de seguridad apropiada.
Una configuración doméstica o de laboratorio debería mantener la comunicación dentro de la máquina o de la red privada siempre que sea posible.
Si vas a convertir n8n en un servicio accesible desde Internet, considera como mínimo:
- HTTPS.
- Un dominio.
- Un proxy inverso.
- Autenticación.
- Firewall.
- Actualizaciones periódicas.
- Copias de seguridad de los datos de n8n.
- Restricción de los puertos expuestos.
n8n también dispone de mecanismos para auditar determinados riesgos de seguridad de una instancia, incluyendo credenciales, nodos potencialmente peligrosos, configuración y webhooks.
Conclusión
n8n + Ollama + Ubuntu es una combinación especialmente interesante para construir automatizaciones con inteligencia artificial sin depender necesariamente de una API externa para cada operación.
n8n se encarga de coordinar los workflows y conectar servicios, mientras que Ollama proporciona el modelo de IA que procesa los datos localmente. La documentación oficial de n8n contempla tanto el despliegue mediante Docker como la construcción de funcionalidades de IA y agentes.
La clave para que esta arquitectura funcione correctamente es entender la red de Docker: si Ollama está instalado en Ubuntu y n8n está dentro de un contenedor, localhost no representa el sistema anfitrión.
Una vez resuelta esa comunicación, puedes ampliar el workflow progresivamente y conectar correo electrónico, WordPress, bases de datos, APIs, almacenamiento y otros servicios.
El resultado es una infraestructura de automatización capaz de utilizar IA local, Linux y software autoalojado en un mismo entorno.
