Cómo instalar n8n en tu servidor Linux casero usando Docker

En este post quiero dejar documentado —para mí y para quien le sirva— cómo instalar n8n, una herramienta de automatización increíblemente potente y open source, en un servidor Linux en casa usando Docker. Es un proceso sencillo, pero conviene tener los pasos claros para evitar problemas.

Estos son los pasos a seguir:

1. Instalar Docker

Lo primero es instalar Docker en tu máquina Linux. En mi caso uso Ubuntu, pero este enlace sirve para cualquier distribución compatible:

Guía oficial de instalación: https://docs.docker.com/engine/install/ubuntu/

Ahí encontrarás las instrucciones actualizadas paso a paso.

2. Activar el servicio de Docker y comprobar que funciona

Una vez instalado Docker, activa su servicio para que arranque automáticamente y comprueba el estado:

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker

Si todo está correcto, deberías ver el servicio como active (running).

3. Crear el volumen para persistencia de n8n

N8N necesita guardar datos (workflows, credenciales, configuraciones…). Para que no se pierdan al reiniciar el contenedor, creamos un volumen:

docker volume create n8n_data

Con esto Docker gestionará un directorio persistente donde n8n guardará toda su configuración.

4. Crear y ejecutar el contenedor de n8n

Ahora sí, lanzamos el contenedor de n8n con todos los parámetros necesarios.

Este comando expone el puerto 5678, define la zona horaria y habilita el acceso desde un dominio con HTTPS (ideal si usas un proxy inverso como Traefik o Nginx Proxy Manager):

docker run -it –rm \
–name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE=»UTC+2″ \
-e TZ=»UTC+2″ \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_HOST=0.0.0.0 \
-e N8N_PORT=5678 \
-e N8N_EDITOR_BASE_URL=https://URL/ \
-e N8N_WEBHOOK_URL=https://URL/ \
-e N8N_SECURE_COOKIE=true \
-e N8N_RUNNERS_ENABLED=false \
-e N8N_PROTOCOL=https \
-e N8N_PROXY_HOPS=1 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n

Explicación de las variables principales:

  • N8N_HOST → Deja escuchar en cualquier interfaz.
  • EDITOR_BASE_URL / WEBHOOK_URL → Tu dominio público (si quieres usarlo desde fuera).
  • TZ / GENERIC_TIMEZONE → Ajuste de zona horaria.
  • SECURE_COOKIE → Obligatorio si se usa HTTPS.
  • n8n_data → Volumen persistente.

Una vez se levanta el contenedor, podrás acceder a n8n en tu navegador o si es local →  http://TU_IP:5678

Conclusión

Con estos pasos tienes n8n funcionando mediante Docker, de forma persistente y preparado para integrarlo con tu ecosistema doméstico. Es una herramienta muy potente que te permite automatizar prácticamente todo.

Nota adicional: acceso desde fuera de casa

Si quieres que tu instalación de n8n sea accesible desde fuera de tu red local, ten en cuenta lo siguiente: Muchos proveedores de internet no permiten abrir puertos por defecto o no proporcionan una IP pública real (están detrás de CG-NAT).

En ese caso, tienes dos opciones:

  1. Pedir a tu proveedor que te habilite la apertura de puertos. Algunas operadoras lo activan gratuitamente y otras lo cobran. Sin esto, el acceso externo por puerto 5678 no funcionará.
  2. Usar Cloudflare Tunnel (recomendado). Con Cloudflare puedes exponer tu servicio sin abrir puertos, de forma segura y gratuita.

Te dejo un tutorial muy completo que explica cómo acceder a una Raspberry (o cualquier servidor local) desde cualquier lugar usando Cloudflare Zero Trust: https://medium.com/@mohsentaleb/how-to-access-your-raspberry-pi-via-ssh-orvnc-from-anywhere-in-the-world-using-cloudflares-zero-9dcd2e75a9d7

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *