Cómo instalar n8n con Docker en tu servidor o VPS paso a paso
Instalar n8n con Docker: docker run, Docker Compose con PostgreSQL, HTTPS, variables, copias y actualizaciones. Guía con comandos oficiales. ¡Empieza hoy!
Contenido del artículo
- Antes de instalar n8n: requisitos y qué opción elegir
- Instalar n8n con docker run o con el script de una línea
- Instalar n8n en producción con n8n docker compose y PostgreSQL
- Dominio, HTTPS y variables clave al instalar n8n
- Copias de seguridad y actualizaciones de n8n en Docker
- Preguntas frecuentes sobre instalar n8n con Docker
- ¿Quieres n8n funcionando sin tocar la terminal?
Instalar n8n en tu propio servidor es la forma más flexible de tener automatizaciones sin pagar una cuota por plan, con tus datos en una máquina que controlas. El problema es que muchos tutoriales se quedan en un docker run que funciona en tu portátil, pero no sirve para producción: sin HTTPS, sin base de datos seria y sin copias de seguridad.
Esta guía va al grano. Verás tres maneras de instalar n8n con Docker, de la más rápida a la más robusta, con los comandos de la documentación oficial de n8n (consultada en octubre de 2026). También cómo ponerle dominio y certificado, qué variables tocar, cómo hacer copias y cómo actualizar sin perder nada.
Si prefieres no pelearte con servidores, en nuestra agencia n8n lo dejamos instalado, asegurado y documentado. Y si aún estás valorando la herramienta, empieza por saber qué es n8n y para qué sirve: te ahorrará dudas antes de tocar la terminal.
Antes de instalar n8n: requisitos y qué opción elegir
Para instalar n8n con Docker necesitas tres cosas: un servidor Linux con Docker y el plugin Docker Compose v2, acceso por SSH y, si vas a recibir webhooks de otras aplicaciones, un dominio o subdominio que apunte a la IP del servidor.
La documentación de n8n no publica unos requisitos mínimos de CPU o RAM. Para instalar n8n en una pyme que empieza, un VPS modesto suele bastar; lo sensato es vigilar el consumo las primeras semanas y ampliar si hace falta. Lo que sí deja claro n8n es que el autoalojamiento exige conocimientos de servidores, contenedores y seguridad: un error puede costar datos.
n8n en un VPS: Hostinger, Hetzner u otro proveedor
Cualquier proveedor con un VPS Linux te vale. La propia documentación de n8n incluye guías para Hetzner, DigitalOcean, AWS, Azure o Google Cloud, y proveedores como Hostinger publican tutoriales para montar n8n en su VPS. Elige un centro de datos en la UE si vas a tratar datos personales de clientes.
Ten en cuenta también el coste. Instalar n8n en tu servidor te ahorra la cuota de la nube, pero sumas el VPS y las horas de mantenimiento; lo comparamos con detalle en nuestra guía sobre el precio de n8n en la nube y autoalojado.
Las tres formas de instalar n8n con Docker
| Método | Base de datos | HTTPS incluido | Para qué sirve |
|---|---|---|---|
| docker run | SQLite | No | Probar en local |
| Instalación en una línea (get.n8n.io) | SQLite | No | Probar o uso personal |
| Docker Compose | PostgreSQL | Sí, con Traefik | Producción en una empresa |
Instalar n8n con docker run o con el script de una línea
Son las dos vías más rápidas para ver n8n funcionando en minutos. Úsalas para probar, no para dejar tu negocio funcionando encima.
Opción 1: n8n docker con un solo contenedor
Primero creas un volumen para que tus flujos y credenciales sobrevivan aunque borres el contenedor. Después lo arrancas con tu zona horaria, que n8n usa para los nodos programados:
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
Abre http://localhost:5678 y crea la cuenta de propietario. Ojo: n8n marca ya esta página como desactualizada y recomienda Docker Compose para instalaciones reales.
Opción 2: el instalador oficial en una línea
n8n ofrece un script que crea una carpeta n8n, escribe la configuración y arranca todo con Docker Compose. Requiere Docker con el plugin docker compose v2 (el antiguo binario docker-compose no sirve); en Windows se ejecuta desde WSL con Docker Desktop:
curl -fsSL https://get.n8n.io | sh
Usa SQLite y no configura dominio ni certificado: es la manera más cómoda de instalar n8n para empezar, no para producción. Para actualizar, el mismo script admite sh -s -- --upgrade y conserva tus datos.
Instalar n8n en producción con n8n docker compose y PostgreSQL
Para instalar n8n en una empresa, la opción buena es Docker Compose con PostgreSQL como base de datos. n8n mantiene un repositorio oficial, n8n-hosting en GitHub, con un ejemplo listo que levanta tres servicios: Postgres, n8n y un contenedor de ejecución de código (runner).
Paso 1: descargar el ejemplo oficial
mkdir n8n && cd n8n
curl -O https://raw.githubusercontent.com/n8n-io/n8n-hosting/main/docker-compose/withPostgres/docker-compose.yml
curl -O https://raw.githubusercontent.com/n8n-io/n8n-hosting/main/docker-compose/withPostgres/init-data.sh
curl -O https://raw.githubusercontent.com/n8n-io/n8n-hosting/main/docker-compose/withPostgres/.env
Paso 2: cambiar usuarios y contraseñas del .env
El archivo .env trae valores de ejemplo que debes cambiar antes del primer arranque. Así quedaría, con tus propias claves largas y aleatorias:
N8N_VERSION=2.45.5
POSTGRES_USER=admin_n8n
POSTGRES_PASSWORD=una-clave-larga-y-aleatoria
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=n8n_app
POSTGRES_NON_ROOT_PASSWORD=otra-clave-larga-y-aleatoria
RUNNERS_AUTH_TOKEN=un-token-largo-y-aleatorio
La línea N8N_VERSION fija la versión de n8n. n8n recomienda la rama estable para producción; en octubre de 2026 era la 2.45.x.
Paso 3: arrancar y parar
docker compose up -d
docker compose stop
El ejemplo publica n8n en el puerto 5678 sin cifrar. Antes de abrirlo a internet, ponle dominio y HTTPS como verás a continuación. Ojo: los puertos que publica Docker se saltan las reglas de ufw, así que ciérralo en el cortafuegos del proveedor o publícalo solo en 127.0.0.1, como hace la guía oficial con Traefik.
Dominio, HTTPS y variables clave al instalar n8n
Sin HTTPS, n8n no debería salir de tu red: las credenciales viajarían en claro y muchas aplicaciones exigen una URL segura para enviar webhooks, como la API de WhatsApp que explicamos en nuestra guía de n8n y WhatsApp.
HTTPS automático con Traefik
La guía oficial de Docker Compose usa Traefik como proxy inverso, que pide y renueva solo los certificados de Let's Encrypt. Primero crea en tu DNS un registro A, por ejemplo n8n.tudominio.com, apuntando a la IP del servidor. Luego, en un .env como este:
DOMAIN_NAME=tudominio.com
SUBDOMAIN=n8n
GENERIC_TIMEZONE=Europe/Madrid
SSL_EMAIL=tu-correo@tudominio.com
Con ese archivo y el compose.yaml de la documentación, n8n queda accesible solo por https://n8n.tudominio.com. Ese ejemplo usa SQLite; si quieres Traefik y PostgreSQL juntos, hay que fusionar ambos archivos con cuidado, y ahí es donde más instalaciones fallan.
Variables de entorno que conviene conocer
- N8N_HOST y N8N_PROTOCOL: el dominio y si se accede por
https. - N8N_WEBHOOK_URL: la URL pública de los webhooks (en versiones anteriores a la 2.30.0 se llama
WEBHOOK_URL). - N8N_PROXY_HOPS: cuántos proxies hay delante de n8n; con Traefik, normalmente 1.
- GENERIC_TIMEZONE: la zona horaria de los nodos programados,
Europe/Madriden la península. - N8N_ENCRYPTION_KEY: la clave que cifra tus credenciales. Si no la defines, n8n genera una aleatoria al primer arranque y la guarda en la carpeta
.n8n.
Copias de seguridad y actualizaciones de n8n en Docker
Aquí está la diferencia entre una instalación de prueba y una profesional. Si pierdes la clave de cifrado, pierdes todas las credenciales, aunque recuperes la base de datos.
Cómo hacer copias de seguridad
n8n incluye comandos para exportar flujos y credenciales. Dentro de Docker se lanzan así (cambia el nombre del contenedor por el tuyo, que verás con docker ps):
docker exec -u node -it n8n-n8n-1 n8n export:workflow --backup --output=backups/latest/
docker exec -u node -it n8n-n8n-1 n8n export:credentials --backup --output=backups/latest/
Con PostgreSQL, completa la copia con un volcado de la base de datos y guárdalo fuera del servidor:
set -a && . ./.env && set +a
docker compose exec -T postgres pg_dumpall -U "$POSTGRES_USER" > n8n-backup.sql
Un aviso del propio repositorio oficial: nunca ejecutes docker compose down -v. Ese -v borra también el volumen de n8n, donde vive la clave de cifrado.
Cómo actualizar n8n
Si fijaste la versión en el .env, cambia primero N8N_VERSION por la nueva. Después, desde la carpeta del proyecto:
docker compose pull
docker compose down
docker compose up -d
Haz siempre una copia antes y lee las notas de la versión: los saltos grandes pueden traer cambios incompatibles. Si usas el contenedor suelto, basta con docker pull n8nio/n8n y volver a crearlo con el mismo volumen.
Con n8n ya instalado, lo siguiente es ponerlo a trabajar: importa alguna de nuestras plantillas de n8n para empresas o aprende a crear un agente de IA con n8n. Y si tus datos son sensibles, combínalo con un modelo propio, como contamos en la guía de IA local para empresas.
Preguntas frecuentes sobre instalar n8n con Docker
¿Es gratis instalar n8n en mi servidor?
Sí. Sin clave de licencia, n8n funciona como edición Community gratuita, sin cuota por plan. Lo que pagas es el servidor y el tiempo de mantenerlo: actualizaciones, copias, seguridad y resolución de incidencias. Algunas funciones avanzadas, pensadas para equipos grandes, requieren una licencia de pago de n8n.
¿Es necesario crear volúmenes para instalar n8n en Docker?
Sí. Sin un volumen montado en /home/node/.n8n, al borrar o actualizar el contenedor perderías los flujos, las credenciales y la clave de cifrado. La documentación recomienda mantener ese volumen incluso cuando usas PostgreSQL, porque ahí se guardan la clave y otros archivos de configuración de n8n.
¿SQLite o PostgreSQL para n8n?
SQLite viene por defecto y sirve para pruebas o un uso personal con poco volumen. Para una empresa, con varios usuarios o muchas ejecuciones, n8n recomienda PostgreSQL: aguanta mejor la carga, permite copias de seguridad más fiables y es la base del ejemplo oficial de producción con Docker Compose.
¿Puedo instalar n8n en Windows?
Sí, pero no directamente. La vía recomendada es instalar Docker Desktop con la integración de WSL2 activada y lanzar los comandos desde WSL. Sirve para aprender y probar en tu equipo; para que funcione las 24 horas y reciba webhooks, lo razonable es un servidor Linux o un VPS.
¿Cuánto se tarda en instalar n8n con Docker?
Una prueba con docker run o el script de una línea lleva unos minutos. Una instalación de producción con dominio, HTTPS, PostgreSQL, copias automáticas y cortafuegos requiere más tiempo y conocimientos de sistemas, sobre todo si es la primera vez. Lo que más se alarga suele ser el DNS y el certificado.
¿Quieres n8n funcionando sin tocar la terminal?
Instalar n8n con Docker está al alcance de cualquiera con algo de soltura en Linux, pero mantenerlo seguro, actualizado y con copias que funcionen es otra historia. Si prefieres dedicar ese tiempo a tu negocio, en nuestra agencia especializada en n8n lo instalamos en un servidor a tu nombre, diseñamos tus primeros flujos y te formamos para que tu equipo sea autónomo.
También puedes ver cómo encaja con el resto de herramientas en nuestra comparativa n8n vs Make vs Zapier o reservar una llamada gratuita de 30 minutos para contarnos qué quieres automatizar.
Fuentes: