Portada » Instalar n8n con Docker: guía paso a paso
n8n · Docker Compose · Instalación local

Cómo instalar n8n con Docker paso a paso

Instala n8n en tu computador, conserva tus workflows y aprende a administrar el contenedor. Usaremos Docker Compose, un volumen persistente y una configuración local para comenzar a practicar.

Por CiborgDocumentación revisada: Windows · macOS · Linux
Respuesta rápida

¿Cómo instalar n8n con Docker?

Instala Docker y Compose, crea un archivo compose.yaml con el servicio de n8n y un volumen para sus datos, y ejecuta docker compose up -d. Después abre http://localhost:5678 para configurar tu cuenta y comenzar a crear workflows.

Antes de comenzar

Las tres piezas de esta instalación

Si todavía estás conociendo la herramienta, revisa primero qué es n8n y para qué sirve.

01

Imagen

Contiene el software necesario para ejecutar n8n. Fijaremos una versión para identificar qué estamos instalando.

02

Contenedor

Es la instancia que ejecuta el servicio. Puedes detenerla o recrearla cuando cambie su configuración.

03

Volumen

Conserva los datos fuera de la capa temporal del contenedor. Debes respaldarlo aunque sea persistente.

Define el alcance

Una instalación local sirve para aprender y probar

El ejemplo deja el puerto disponible únicamente en el equipo donde corre Docker. Utiliza datos de prueba y workflows de confianza mientras aprendes.

01 · LOCAL

Acceso desde tu equipo

El navegador se conecta a localhost. No necesitas comprar un dominio para seguir este tutorial.

02 · PERSISTENCIA

Datos que permanecen

SQLite y la configuración se conservan en un volumen. Borrar ese volumen sí puede hacerte perder información.

03 · PRODUCCIÓN

Un despliegue adicional

Una instancia pública requiere HTTPS, configuración de red, respaldos y aislamiento adecuado de la ejecución de código.

Paso 1

Comprueba Docker y Docker Compose

En Windows y macOS puedes utilizar Docker Desktop. En Windows, configura su backend WSL 2 y los contenedores Linux. En Linux también puedes instalar Docker Engine y el plugin de Compose siguiendo las instrucciones de tu distribución.

Abre una terminal y comprueba tanto las herramientas como la conexión al motor:

TerminalComprobación
docker --version
docker compose version
docker info

Los dos primeros comandos muestran versiones. El tercero debe devolver información del motor sin un error de conexión. Si Docker Desktop está cerrado, ábrelo y espera a que termine de iniciar.

Usaremos docker compose, con espacio. No necesitas instalar Node.js en el sistema para ejecutar esta imagen.

Instalación oficial de Docker Compose →
Paso 2

Crea la carpeta de trabajo

Guarda la configuración en una carpeta dedicada. Ejecuta los comandos siguientes en PowerShell, macOS o Linux. Si trabajas desde WSL, utiliza una carpeta dentro de su sistema de archivos.

TerminalProyecto
mkdir ciborg-n8n
cd ciborg-n8n

Dentro de esa carpeta, crea un archivo llamado exactamente compose.yaml con tu editor. En Windows, comprueba que no haya quedado guardado como compose.yaml.txt.

Configuración de Docker Compose

Este ejemplo utiliza la imagen oficial de n8n con la versión 2.39.10, indicada como estable en la documentación consultada. Es una referencia fijada, no una promesa de que siga siendo la versión más reciente cuando leas la guía.

YAMLcompose.yaml
name: ciborg-n8n

services:
  n8n:
    image: n8nio/n8n:2.39.10
    restart: unless-stopped
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      TZ: America/Santiago
      GENERIC_TIMEZONE: America/Santiago
      N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Conserva la indentación con espacios. Si estás en otra zona horaria, cambia America/Santiago en ambas variables por tu identificador correspondiente.

Qué significa esta configuración

  • Puerto: 127.0.0.1 limita el acceso publicado al propio equipo.
  • Reinicio: unless-stopped permite reiniciar el servicio cuando corresponda, salvo que lo hayas detenido manualmente.
  • Zona horaria: configura el entorno y la programación de tareas; revisa también la zona de cada workflow.
  • Datos: el volumen se monta en /home/node/.n8n.

La configuración es una base local para el editor y los workflows. No instala servicios adicionales para n8n Assistant ni un despliegue completo de producción.

Paso 3

Valida el archivo e inicia n8n

Desde la carpeta que contiene compose.yaml, revisa la configuración, descarga la imagen y arranca el servicio:

TerminalInicio
docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps

Si la validación muestra un error, corrígelo antes de continuar. La opción -d deja el servicio en segundo plano, de modo que puedes cerrar esa terminal sin detenerlo.

Revisa los mensajes de arranque

TerminalLogs
docker compose logs --tail=100 n8n

El resultado esperado es un contenedor en ejecución, sin reinicios repetidos. El primer arranque puede tardar mientras descarga la imagen y prepara sus datos.

Paso 4

Abre n8n y crea tu cuenta

En el navegador del mismo computador donde ejecutaste Docker, abre http://localhost:5678. Completa el asistente inicial y crea la cuenta propietaria de tu instancia con una contraseña única.

Si instalaste Docker en otro equipo o en un VPS, el localhost de tu navegador no apunta a ese servidor. Para acceso público necesitas preparar un despliegue con dominio y HTTPS.

Comprueba que los datos persisten

Crea y guarda un workflow de prueba, por ejemplo con un disparador manual. Reinicia el servicio y vuelve a entrar:

TerminalReinicio
docker compose restart n8n

El workflow debe seguir disponible. Esta comprobación valida la persistencia básica; no sustituye una prueba de restauración de respaldos.

Administración

Detener el contenedor no equivale a borrar los datos

Con el nombre de proyecto utilizado aquí, el volumen normalmente se llama ciborg-n8n_n8n_data. Puedes inspeccionarlo con docker volume inspect ciborg-n8n_n8n_data.

ComandoQué hace
docker compose stopDetiene el servicio y conserva el contenedor y el volumen.
docker compose startInicia de nuevo los contenedores existentes.
docker compose downElimina contenedores y la red del proyecto; conserva el volumen nombrado.
docker compose up -dCrea o actualiza los contenedores utilizando la configuración.

Atención: añadir --volumes a docker compose down elimina también el volumen de este ejemplo. No utilices esa opción para reiniciar o actualizar si quieres conservar tus datos.

La clave de cifrado también importa

n8n genera una clave para cifrar credenciales y la guarda en su configuración inicial. Respalda toda la carpeta persistente: recuperar solamente los workflows no garantiza que puedas recuperar las conexiones guardadas.

Antes de actualizar

Haz un respaldo de la instalación local

Para este ejemplo con SQLite, detén n8n antes de copiar sus archivos. Elige una carpeta de destino nueva para cada respaldo; el nombre siguiente es solo un ejemplo.

TerminalCopia local
docker compose stop n8n
docker compose cp n8n:/home/node/.n8n ./respaldo-n8n-01
docker compose start n8n

Comprueba que la copia terminó correctamente y contiene los archivos de datos y configuración, incluidos los ocultos. Guarda también compose.yaml, anota la versión y conserva otra copia fuera del equipo.

El respaldo contiene información sensible. Antes de depender de él, prueba su restauración en una instancia aislada con la misma versión y permisos adecuados. Si posteriormente utilizas PostgreSQL, necesitarás además su propio respaldo de base de datos.

Mantenimiento

Cómo actualizar n8n con Docker Compose

Revisa las notas de la versión y sus cambios incompatibles. Después del respaldo, sustituye la etiqueta 2.39.10 del archivo por la versión estable que hayas decidido instalar.

TerminalActualización
docker compose config --quiet
docker compose pull n8n
docker compose up -d n8n
docker compose logs --tail=100 n8n

Con una etiqueta fijada, ejecutar pull sin cambiarla no selecciona automáticamente una versión posterior. Asimismo, restart por sí solo no recrea el contenedor con la nueva imagen.

Verifica el acceso y ejecuta workflows de prueba. Si una actualización modifica la base de datos, volver a la imagen anterior puede no ser suficiente: la recuperación puede requerir restaurar el respaldo compatible.

Solución de problemas

Errores frecuentes al instalar n8n con Docker

Docker no puede conectarse al motor

Revisa docker info. Inicia Docker Desktop o comprueba el servicio Docker en Linux. Si el problema es de permisos, configura el acceso siguiendo la documentación de Docker; no abras indiscriminadamente los permisos del socket.

El puerto 5678 ya está ocupado

Cambia únicamente el puerto del equipo en Compose a "127.0.0.1:5679:5678". Ejecuta docker compose up -d y abre http://localhost:5679.

Aparece de nuevo el asistente inicial

Comprueba que estás usando el mismo proyecto y volumen. Cambiar su nombre o ejecutar otro archivo Compose puede conectar una instancia vacía. Localiza el volumen anterior antes de crear datos o borrar recursos.

El navegador muestra un aviso de cookies seguras

Accede mediante localhost desde el equipo local. Para una instancia pública, configura HTTPS correctamente. Desactivar las cookies seguras de forma general no resuelve una configuración pública incompleta.

Un servicio externo no llega al webhook

Esta instalación escucha en el equipo local. Un proveedor externo no puede llamar a tu localhost; necesitarás una dirección HTTPS accesible y una configuración adecuada de las URL de webhook.

Siguiente nivel

Qué cambia al instalar n8n en un servidor

Para mantener automatizaciones disponibles permanentemente, prepara dominio, HTTPS y proxy inverso; configura las direcciones públicas, el firewall, la supervisión y los respaldos.

También debes evaluar PostgreSQL y los task runners externos para aislar la ejecución de código. La documentación actual distingue ese despliegue de una instancia local con datos de prueba.

Cuando incorpores APIs o modelos de IA, sus credenciales y posibles costos se administran por separado. Puedes explorar usos en nuestra guía de automatización de tareas con inteligencia artificial.

Tu instalación básica está lista cuando…

  • El editor abre y puedes iniciar sesión.
  • Un workflow guardado permanece después de reiniciar.
  • Sabes revisar los logs e identificar el volumen.
  • Tienes una copia de los datos y de la configuración.
Preguntas frecuentes

Dudas sobre n8n y Docker

Sí. Puedes usar Docker Desktop con WSL 2 y contenedores Linux. Comprueba que el motor y Docker Compose funcionen antes de iniciar n8n.

No. Este ejemplo utiliza SQLite dentro del volumen persistente. Conectar un workflow a MySQL es una función distinta de elegir la base de datos interna de n8n.

No. La instancia local necesita que el equipo y Docker estén funcionando. Para disponibilidad continua, utiliza infraestructura preparada para permanecer encendida.

No. Conserva datos cuando recreas el contenedor, pero no los protege frente a borrado, corrupción o pérdida del equipo. Mantén respaldos independientes y comprueba su restauración.

No para la instalación básica de esta guía. Puedes crear workflows sin IA; añade un proveedor y sus credenciales cuando una automatización lo necesite.

Carrito de compra
Scroll al inicio