Correr localmente
Correr n8n Localmente con Docker
Esta guía te permite ejecutar n8n con MongoDB y Ollama (LLM local) usando Docker Compose.
Prerrequisitos
- Docker y Docker Compose instalados en tu sistema
- Al menos 2GB de espacio libre en disco (para los modelos de Ollama pequeños). Para modelos más grandes revisa la tabla en la sección Configurar Ollama en n8n.
Crear el archivo docker-compose.yml
Crea un archivo llamado docker-compose.yml
con el siguiente contenido:
services:
mongo:
image: mongo:6.0
container_name: mongo
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: ejemplo123
MONGO_INITDB_DATABASE: n8n_memory
volumes:
- ./mongo_data:/data/db
ports:
- "27017:27017"
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=America/Mexico_City
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=12345678
volumes:
- ./n8n:/home/node/.n8n
depends_on:
- mongo
- ollama
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ./ollama_data:/root/.ollama
environment:
- OLLAMA_MODEL_DIR=/root/.ollama/models
volumes:
mongo_data:
ollama_data:
Iniciar los servicios
Ejecuta el siguiente comando en el directorio donde creaste el archivo:
docker-compose up -d
Este comando descargará las imágenes necesarias y iniciará todos los contenedores.
Descargar modelo de Ollama
Una vez que los contenedores estén ejecutándose, descarga un modelo LLM (ejemplo usando un modelo ligero optimizado para CPU):
docker exec -it ollama ollama pull llama3.2:1b
Nota: La descarga puede tardar varios minutos dependiendo de tu conexión a internet.
Tabla — Modelos recomendados para CPU y requisitos
Modelo (ejemplo en Ollama) | Tamaño aproximado en disco | RAM mínima recomendada | CPU recomendada | ¿Adecuado para CPU-only? | Comentarios rápidos |
---|---|---|---|---|---|
gemma3:270m | ~300 MB | 4 GB | 2-4 núcleos | Sí — muy ligero | Ideal para pruebas rápidas y bajos recursos |
llama3.2:1b | ~1.3 GB | 4-8 GB | 4 núcleos | Sí — buena latencia en CPU | Balance entre calidad y velocidad |
gemma3:1b | ~800 MB - 1GB | 6-8 GB | 4 núcleos | Sí | Buen rendimiento en CPU, multimodal si tu uso lo requiere |
llama2:7b (q4 o cuantizado) | ~3-8 GB (depende de cuantización) | 8+ GB | 4-8 núcleos | Parcial — mejor con cuantización | Usar versiones cuantizadas (q4) para CPU eficiente |
gemma2:2b | ~2 GB | 8 GB | 4-8 núcleos | Sí (mejor con q4) | Buena opción intermedia para tareas más serias |
Cómo interpretar la tabla: los tamaños y RAM son aproximados y dependen del formato (GGUF, cuantización) y de la versión del modelo. Para modelos 7B+ se recomienda más memoria (ver recomendaciones de Ollama en su README).
Verificar la instalación
Verificar que el modelo se descargó correctamente:
docker exec -it ollama ollama list
Verificar que Ollama esté funcionando:
curl http://localhost:11434/api/tags
Deberías recibir una respuesta JSON con información del modelo descargado.
Acceder a los servicios
n8n
- URL: http://localhost:5678
- Usuario: admin
- Contraseña: 12345678
MongoDB (para conexiones externas como MongoDB Compass)
- Connection String:
mongodb://root:ejemplo123@localhost:27017
Ollama API
Configurar Ollama en n8n
Para usar el nodo de Ollama en n8n:
-
Abre n8n en tu navegador (http://localhost:5678)
-
Crea un nuevo workflow
-
Agrega el nodo "Ollama Chat Model" o "Ollama"
-
Configura los siguientes parámetros:
- Base URL:
http://ollama:11434
- Model: selecciona el modelo que descargaste (ej.
llama3.2:1b
)
- Base URL:
Importante: Usa
http://ollama:11434
(nombre del servicio) en lugar dehttp://localhost:11434
cuando configures desde n8n, ya que los contenedores se comunican a través de la red interna de Docker.
Requisitos y recomendaciones generales (más que comandos)
- RAM: Los modelos pequeños (
<=1B
) pueden funcionar con 4–8 GB, modelos 7B suelen necesitar 8+ GB, 13B 16+ GB, y modelos 33B/70B todavía más. - CPU: Un CPU moderno con instrucciones vectoriales (AVX, AVX2) y 4+ núcleos dará mejor experiencia. Algunos usuarios reportan poder ejecutar modelos 1B en máquinas con 4 GB, pero la experiencia y latencia varían.
- Almacenamiento: SSD recomendado para tiempos de carga y para almacenar varios modelos (50GB+ si planeas varios modelos grandes).
- Formato/quantización: Ollama usa formatos optimizados (GGUF, q4_0, etc.). Los modelos cuantizados (4-bit) reducen uso de memoria y aceleran inferencia en CPU.
- Versión de Ollama: Mantén Ollama actualizado; algunos modelos requieren versiones mínimas (ej. Gemma 3 requiere Ollama 0.6 o posterior).
- Sistema operativo: Linux (Ubuntu 22.04+), macOS y Windows son soportados; en servidores Linux la experiencia suele ser más estable.
Comandos útiles
Ver estado de los contenedores:
docker-compose ps
Ver logs de un servicio:
docker-compose logs n8n
docker-compose logs ollama
Detener todos los servicios:
docker-compose down
Reiniciar los servicios:
docker-compose restart
Descargar un modelo diferente (ejemplos):
docker exec -it ollama ollama pull gemma3:270m
docker exec -it ollama ollama pull gemma3:1b
docker exec -it ollama ollama pull llama2:7b # considerar cuantización si memoria limitada
Solución de problemas
Si Ollama no se conecta desde n8n:
- Verifica que uses
http://ollama:11434
como URL base - Confirma que el modelo esté descargado con
docker exec -it ollama ollama list
Si MongoDB no se conecta:
- Verifica que el contenedor esté ejecutándose con
docker-compose ps
- Confirma las credenciales: usuario
root
, contraseñaejemplo123
Para cambiar las credenciales por defecto:
Modifica las variables de entorno en el archivo docker-compose.yml
:
- MongoDB:
MONGO_INITDB_ROOT_USERNAME
yMONGO_INITDB_ROOT_PASSWORD
- n8n:
N8N_BASIC_AUTH_USER
yN8N_BASIC_AUTH_PASSWORD
Fin del documento.