Saltar al contenido principal

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 discoRAM mínima recomendadaCPU recomendada¿Adecuado para CPU-only?Comentarios rápidos
gemma3:270m~300 MB4 GB2-4 núcleosSí — muy ligeroIdeal para pruebas rápidas y bajos recursos
llama3.2:1b~1.3 GB4-8 GB4 núcleosSí — buena latencia en CPUBalance entre calidad y velocidad
gemma3:1b~800 MB - 1GB6-8 GB4 núcleosBuen rendimiento en CPU, multimodal si tu uso lo requiere
llama2:7b (q4 o cuantizado)~3-8 GB (depende de cuantización)8+ GB4-8 núcleosParcial — mejor con cuantizaciónUsar versiones cuantizadas (q4) para CPU eficiente
gemma2:2b~2 GB8 GB4-8 núcleosSí (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

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:

  1. Abre n8n en tu navegador (http://localhost:5678)

  2. Crea un nuevo workflow

  3. Agrega el nodo "Ollama Chat Model" o "Ollama"

  4. Configura los siguientes parámetros:

    • Base URL: http://ollama:11434
    • Model: selecciona el modelo que descargaste (ej. llama3.2:1b)

Importante: Usa http://ollama:11434 (nombre del servicio) en lugar de http://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ña ejemplo123

Para cambiar las credenciales por defecto:

Modifica las variables de entorno en el archivo docker-compose.yml:

  • MongoDB: MONGO_INITDB_ROOT_USERNAME y MONGO_INITDB_ROOT_PASSWORD
  • n8n: N8N_BASIC_AUTH_USER y N8N_BASIC_AUTH_PASSWORD

Fin del documento.