n8n en español

Instalar n8n con Docker

Actualizado: 2026-11-05. Guía independiente basada en documentación oficial; no probada por nosotros en un servidor propio salvo que se indique lo contrario.

Esta guía recoge el arranque más sencillo de n8n con Docker, tal como lo describe la documentación oficial. Sirve para probar n8n en tu ordenador o en un servidor sin dominio. Si quieres dejarlo en un servidor con HTTPS, sigue la guía de Docker Compose en Ubuntu; si usas Windows, tienes una guía específica para Windows.

Aviso de honestidad: no hemos probado estos comandos en un servidor propio. Los hemos contrastado línea a línea con la documentación oficial de n8n consultada el 2026-11-05. La propia documentación marca esta página como antigua y recomienda otra vía (Docker Compose), así que revisa siempre la versión vigente.

Requisitos

  • Docker instalado (Docker Desktop en Windows y macOS incluye Docker Engine y Docker Compose, según la documentación).
  • Un terminal con sintaxis tipo Linux o macOS para copiar los comandos tal cual.
  • El puerto 5678 libre en tu máquina.

Arrancar n8n

Primero se crea un volumen para que los datos sobrevivan a reinicios, y después se lanza el contenedor:

docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="Europe/Madrid" \
 -e TZ="Europe/Madrid" \
 -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
 -v n8n_data:/home/node/.n8n \
 n8nio/n8n

Qué hace cada parte, según la documentación:

  • -p 5678:5678 publica el puerto de n8n.
  • TZ fija la zona horaria del sistema y GENERIC_TIMEZONE la de los nodos programados (por ejemplo, un disparador de horario). Sustituye Europe/Madrid por la tuya.
  • N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true obliga a permisos seguros en el archivo de configuración.
  • -v n8n_data:/home/node/.n8n guarda tus datos en el volumen.

Después abre http://localhost:5678 en el navegador.

Ejecutarlo en segundo plano

El comando anterior usa -it --rm, pensado para ver el log y borrar el contenedor al parar. Para uso continuo, la documentación muestra en su sección de actualización un arranque con -d:

docker run --name=<nombre_contenedor> [opciones] -d n8nio/n8n

Combina -d con las mismas opciones del bloque anterior (puerto, variables y volumen). No incluimos aquí una política de reinicio automático porque no aparece en esa página de la documentación.

Actualizar n8n

La documentación indica descargar la imagen y recrear el contenedor:

docker pull n8nio/n8n
docker ps -a
docker stop <id_contenedor>
docker rm <id_contenedor>
docker run --name=<nombre_contenedor> [opciones] -d n8nio/n8n

Como tus datos están en el volumen n8n_data, recrear el contenedor no los borra. También existe la etiqueta n8nio/n8n:next (inestable) y se puede fijar una versión concreta con docker pull n8nio/n8n:<versión>.

Qué guardar

El volumen .n8n contiene, entre otras cosas, claves de cifrado. Si lo pierdes, no podrás descifrar credenciales guardadas. Haz copia del volumen antes de cualquier actualización importante.

Si quieres usar PostgreSQL

La documentación ofrece una variante con DB_TYPE=postgresdb y variables DB_POSTGRESDB_* (base de datos, host, puerto, usuario, esquema y contraseña). Aun con PostgreSQL recomienda conservar el volumen .n8n. Necesitas tener ya un servidor PostgreSQL accesible; esta guía no lo monta.

Problemas típicos

  • El navegador no abre localhost:5678: comprueba que el contenedor está en marcha con docker ps y que ningún otro programa usa el puerto.
  • Las tareas programadas salen a una hora rara: revisa GENERIC_TIMEZONE y TZ.
  • Perdiste los datos al recrear el contenedor: probablemente arrancaste sin el volumen -v.

Qué elegir si...

Preguntas frecuentes

¿Pierdo mis workflows si paro el contenedor?

No, siempre que hayas montado el volumen n8n_data con -v n8n_data:/home/node/.n8n. Los datos viven en el volumen, no en el contenedor. Si arrancas sin ese volumen, sí se pierden al eliminar el contenedor.

¿Qué diferencia hay entre TZ y GENERIC_TIMEZONE?

Según la documentación, TZ establece la zona horaria del sistema y GENERIC_TIMEZONE la de los nodos basados en horarios. Conviene fijar las dos con el mismo valor para evitar sorpresas con las tareas programadas.

¿Esto sirve para producción?

Para producción necesitas, como mínimo, HTTPS, copias de seguridad y un plan de actualización. Este arranque sencillo es ideal para probar; para dejarlo público mira la guía de Docker Compose con HTTPS.

Fuentes

Fecha de consulta de todas las fuentes: 2026-11-05. Si algo ha cambiado, prevalece la fuente oficial. Divulgación de afiliación.