Si gestionas uno o varios sitios web bajo Plesk, puede que te hayas preguntado cómo aprovechar el poder de n8n directamente desde tu servidor de hosting. En esta guía completa te explicamos cómo instalar n8n en Plesk paso a paso, con tres métodos distintos adaptados a tu nivel técnico y a la configuración de tu servidor.
n8n (pronunciado «n-eight-n») es una plataforma de automatización de workflows de código abierto que permite conectar más de 400 aplicaciones y servicios sin necesidad de escribir apenas código. Instalarlo en tu propio servidor Plesk te garantiza privacidad total de tus datos, sin límites de ejecuciones y con coste mensual casi nulo.
¿Qué es n8n y por qué instalarlo en Plesk?
n8n es una herramienta de automatización fair-code que compite directamente con Zapier o Make (Integromat), pero con una ventaja fundamental: puedes autohospedarlo en tu propio servidor. Esto significa que tus datos nunca salen de tu infraestructura y tienes control total sobre las ejecuciones.
Combinado con WordPress, CRMs, tiendas WooCommerce o herramientas de marketing, n8n se convierte en el sistema nervioso digital de tu negocio. Por eso, instalarlo directamente en Plesk —el panel de control más extendido en hosting compartido y VPS— tiene mucho sentido.
- Sin límites de workflows ni ejecuciones mensuales
- Datos privados en tu propio servidor (GDPR compliant)
- Sin suscripción a plataformas de terceros
- Integración directa con tu hosting, bases de datos y emails
- +400 integraciones: Google, Slack, Telegram, OpenAI, HubSpot, Shopify…
Requisitos previos para instalar n8n en Plesk
Antes de empezar, asegúrate de que tu servidor cumple los siguientes requisitos mínimos:
| Requisito | Mínimo recomendado | Notas |
|---|---|---|
| Versión Plesk | Plesk Obsidian 18.0+ | Plesk Onyx también compatible |
| Sistema operativo | Debian 10+ / Ubuntu 20.04+ / CentOS 7+ | Preferentemente Linux 64-bit |
| RAM del servidor | 2 GB (4 GB recomendado) | n8n consume ~300-500 MB en reposo |
| CPU | 2 vCPUs mínimo | Para producción, 4 vCPUs |
| Espacio en disco | 20 GB libres mínimo | Para Docker images y datos |
| Node.js | 20.x LTS (para método Node.js) | Plesk lo puede instalar automáticamente |
| Docker | Docker 20.10+ (para método Docker) | Extensión Docker de Plesk |
| Dominio/Subdominio | n8n.tudominio.com | Con SSL/TLS activo |
| Acceso SSH | Root o usuario sudo | Imprescindible para instalación |
💡 ¿Tienes hosting compartido?
Si tu Plesk es un hosting compartido sin acceso SSH root, el Método 2 (Node.js nativo) puede funcionar si tu proveedor permite aplicaciones Node.js. Para mayor control, considera un VPS con Plesk donde tengas acceso root completo.
Método 1: Instalar n8n en Plesk con Docker (recomendado)
Este es el método más sencillo y estable para instalar n8n en Plesk. Docker aísla completamente n8n del resto del servidor, simplifica las actualizaciones y garantiza la persistencia de los datos. Si tu Plesk tiene la extensión Docker disponible, este es el camino.
Paso 1: Instalar la extensión Docker en Plesk
Accede a tu panel Plesk con credenciales de administrador y navega a:
- Panel Plesk → Extensiones → Catálogo de extensiones
- Busca «Docker» en el buscador
- Haz clic en Instalar y espera a que termine
- Una vez instalada, aparecerá Docker en el menú lateral de Plesk
Paso 2: Crear un subdominio para n8n
Es fundamental tener un subdominio dedicado antes de lanzar el contenedor:
- Ve a Sitios web y dominios → tu dominio principal
- Haz clic en Agregar subdominio
- Nombre del subdominio:
n8n(resultado:n8n.tudominio.com) - Deja el directorio raíz como está (se creará automáticamente)
- Haz clic en Aceptar
Paso 3: Instalar certificado SSL en el subdominio
- Navega al subdominio recién creado (
n8n.tudominio.com) - Haz clic en SSL/TLS Certificados
- Selecciona Let’s Encrypt (gratuito)
- Activa la opción «Incluir subdominios» si es necesario
- Activa «Redirigir de HTTP a HTTPS»
- Haz clic en Instalar y espera confirmación
Paso 4: Lanzar el contenedor n8n desde Docker
Desde el menú Docker en Plesk, busca la imagen oficial:
- Ve a Docker → Registro de Docker
- Busca
n8nio/n8n - Haz clic en Ejecutar sobre la imagen oficial
En la pantalla de configuración del contenedor, añade las siguientes variables de entorno:
| Variable | Valor ejemplo | Descripción |
|---|---|---|
N8N_HOST | n8n.tudominio.com | Tu subdominio para n8n |
N8N_PORT | 5678 | Puerto interno del contenedor |
N8N_PROTOCOL | https | Siempre https en producción |
WEBHOOK_URL | https://n8n.tudominio.com/ | URL base para webhooks |
GENERIC_TIMEZONE | Europe/Madrid | Tu zona horaria |
N8N_BASIC_AUTH_ACTIVE | true | Activa autenticación básica |
N8N_BASIC_AUTH_USER | admin | Nombre de usuario |
N8N_BASIC_AUTH_PASSWORD | TuContraseñaSegura123! | Contraseña segura |
N8N_RUNNERS_ENABLED | true | Recomendado en versiones recientes |
En Configuración de puertos, mapea el puerto 5678 del contenedor al puerto 5678 del host (o cualquier puerto libre >1024).
En Volúmenes, añade un volumen persistente: /home/n8n_data:/home/node/.n8n (esto garantiza que tus workflows se conserven aunque reinicies el contenedor).
Paso 5: Configurar el proxy inverso en Plesk
Para que el subdominio sirva el contenedor n8n, configura el proxy inverso de Nginx en Plesk:
- Ve a Sitios web y dominios →
n8n.tudominio.com→ Configuración de Apache y Nginx - Desplázate a Directivas adicionales de Nginx
- Añade el siguiente bloque de configuración:
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
}
- Haz clic en Aceptar
- Ve a Herramientas y configuración → Servicios y reinicia nginx
- Accede a
https://n8n.tudominio.comy deberías ver el login de n8n
💡 Truco: Reglas de proxy Docker de Plesk
Algunas versiones de Plesk Obsidian incluyen la opción «Reglas de proxy Docker» directamente en la interfaz Docker, que configura el proxy automáticamente sin tocar nginx manualmente. Si ves esa opción en tu versión, úsala primero antes de editar nginx a mano.
Método 2: Instalar n8n en Plesk como app Node.js nativa
Si tu servidor no tiene Docker disponible o prefieres una instalación más integrada con Plesk, puedes instalar n8n como aplicación Node.js nativa dentro de una suscripción de Plesk. Este método es ideal en hosting compartido con soporte Node.js.
Paso 1: Habilitar Node.js en Plesk
Si eres administrador del servidor, instala el componente Node.js desde SSH:
plesk installer add --components nodejs
O bien desde el panel: Herramientas y configuración → Actualizaciones de Plesk → Agregar/Eliminar componentes → Node.js.
Paso 2: Crear el directorio e instalar n8n vía npm
Conéctate por SSH como usuario de la suscripción (no necesariamente root):
# Navegar al directorio raíz de la suscripción
cd /var/www/vhosts/tudominio.com/httpdocs
# Crear directorio para n8n
mkdir n8n && cd n8n
# Inicializar proyecto npm
npm init -y
# Instalar n8n (puede tardar 3-5 minutos)
npm install n8n
Paso 3: Crear el archivo de inicio (app.js)
Crea el archivo app.js que usará Plesk como punto de entrada:
// app.js - Punto de entrada de n8n para Plesk Node.js
process.env.N8N_PORT = process.env.PORT || 5678;
process.env.N8N_HOST = '0.0.0.0';
process.env.N8N_PROTOCOL = 'https';
process.env.WEBHOOK_URL = 'https://n8n.tudominio.com/';
process.env.GENERIC_TIMEZONE = 'Europe/Madrid';
process.env.N8N_BASIC_AUTH_ACTIVE = 'true';
process.env.N8N_BASIC_AUTH_USER = process.env.N8N_USER || 'admin';
process.env.N8N_BASIC_AUTH_PASSWORD = process.env.N8N_PASSWORD || 'changeme';
process.env.N8N_PUSH_BACKEND = 'polling';
process.env.N8N_USER_FOLDER = '/var/www/vhosts/tudominio.com/n8n_data';
process.env.N8N_SKIP_INSTANCE_CHECK = 'true';
require('./node_modules/n8n/bin/n8n');
Paso 4: Configurar la app Node.js en Plesk
- Ve a Sitios web y dominios →
n8n.tudominio.com→ Node.js - Modo: Production
- Versión Node.js: 20.x LTS (o la más reciente disponible)
- Directorio raíz del documento:
/n8n - Archivo de inicio de la aplicación:
app.js - Haz clic en Habilitar Node.js
Paso 5: Añadir variables de entorno en Plesk
En la misma sección Node.js de Plesk, ve a Variables de entorno → Agregar variable:
| Variable | Valor |
|---|---|
N8N_USER | tu_usuario_admin |
N8N_PASSWORD | ContraseñaMuySegura123! |
N8N_USER_FOLDER | /var/www/vhosts/tudominio.com/n8n_data |
- Haz clic en Reiniciar aplicación desde el panel Node.js
- Accede a
https://n8n.tudominio.compara verificar que funciona
Método 3: n8n con Docker Compose y systemd (avanzado)
Este método es el más robusto para entornos de producción avanzados. Usa Docker Compose para definir todos los servicios de forma declarativa y systemd para garantizar que n8n se reinicia automáticamente ante cualquier fallo del sistema.
Paso 1: Instalar Docker y Docker Compose por SSH
# Actualizar el sistema
apt update && apt upgrade -y
# Instalar Docker
curl -fsSL https://get.docker.com | sh
# Instalar Docker Compose plugin
apt install docker-compose-plugin -y
# Verificar instalación
docker --version
docker compose version
Paso 2: Crear el archivo docker-compose.yml
Crea una carpeta dedicada y el archivo de configuración:
mkdir -p /opt/n8n && cd /opt/n8n
# /opt/n8n/docker-compose.yml
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.tudominio.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.tudominio.com/
- GENERIC_TIMEZONE=Europe/Madrid
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=${N8N_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_PASSWORD}
- N8N_RUNNERS_ENABLED=true
volumes:
- n8n_data:/home/node/.n8n
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
n8n_data:
driver: local
Crea el archivo .env con tus credenciales reales:
# /opt/n8n/.env
N8N_USER=admin
N8N_PASSWORD=TuContraseñaSuperSegura123!
Paso 3: Crear el servicio systemd
# /etc/systemd/system/n8n.service
[Unit]
Description=n8n Workflow Automation
Requires=docker.service
After=docker.service
[Service]
WorkingDirectory=/opt/n8n
ExecStart=/usr/bin/docker compose up
ExecStop=/usr/bin/docker compose down
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# Recargar systemd y habilitar el servicio
systemctl daemon-reload
systemctl enable n8n
systemctl start n8n
# Verificar estado
systemctl status n8n
Paso 4: Configurar el proxy inverso Nginx desde Plesk
En este método, n8n escucha solo en 127.0.0.1:5678 (no expuesto directamente a Internet). Configura el proxy en Plesk igual que en el Método 1 (Paso 5). Observa que el binding a 127.0.0.1 es una medida de seguridad importante.
Configuración esencial después de instalar n8n
Primer acceso y configuración inicial
Accede a https://n8n.tudominio.com por primera vez. Dependiendo de la versión de n8n, verás:
- n8n ≥ 1.0: Pantalla de registro con email, nombre y contraseña
- n8n < 1.0 con Basic Auth: Formulario de usuario y contraseña básica
- Completa el formulario y accede al dashboard principal de n8n
Configurar actualizaciones automáticas (Docker)
# Actualizar n8n al último release con Docker
docker pull n8nio/n8n:latest
docker stop n8n
docker rm n8n
# Vuelve a lanzar el contenedor con el mismo comando del Paso 4
Para el método Docker Compose:
cd /opt/n8n
docker compose pull
docker compose up -d
Script de backup automático
Protege tus workflows con backups diarios automatizados:
#!/bin/bash
# /opt/scripts/backup-n8n.sh
FECHA=$(date +%Y-%m-%d)
BACKUP_DIR="/root/backups/n8n"
mkdir -p $BACKUP_DIR
# Backup del volumen Docker
tar czf $BACKUP_DIR/n8n-backup-$FECHA.tar.gz /var/lib/docker/volumes/n8n_data/_data 2>/dev/null
# Eliminar backups de más de 7 días
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +7 -delete
echo "Backup n8n completado: $FECHA"
# Programar en cron (ejecutar a las 2:00 AM)
# 0 2 * * * /opt/scripts/backup-n8n.sh >> /var/log/n8n-backup.log 2>&1
Comparativa de métodos: ¿cuál elegir?
| Criterio | Docker (Método 1) | Node.js nativo (Método 2) | Docker Compose + systemd (Método 3) |
|---|---|---|---|
| Dificultad | ⭐⭐ Fácil | ⭐⭐⭐ Media | ⭐⭐⭐⭐ Avanzado |
| Acceso root necesario | Sí (Docker) | No (hosting compartido) | Sí (root) |
| Aislamiento | Alto (contenedor) | Bajo (proceso nativo) | Alto (contenedor) |
| Actualizaciones | Muy fácil (pull) | Manual (npm update n8n) | Fácil (docker compose pull) |
| Auto-reinicio | Según política Docker | Depende de Plesk | Garantizado (systemd) |
| Persistencia datos | Volumen Docker | Directorio del servidor | Volumen Docker |
| Recomendado para | Mayoría de casos | Hosting sin Docker | Producción crítica |
Solución de problemas comunes al instalar n8n en Plesk
Error: «n8n no se conecta al subdominio»
Verifica que el contenedor/app está escuchando en el puerto correcto y que el proxy nginx apunta al puerto adecuado. Comprueba con:
# Verificar que n8n está en ejecución
docker ps | grep n8n
# Comprobar que el puerto está escuchando
ss -tlnp | grep 5678
# Ver logs del contenedor
docker logs n8n --tail 50
Error: «Webhooks no funcionan»
La variable WEBHOOK_URL debe coincidir exactamente con la URL pública de n8n, incluyendo la barra final (/). Si cambias el dominio, actualiza esta variable y reinicia n8n.
Error: «n8n consume demasiada memoria»
Limita la memoria del contenedor Docker añadiendo en el docker-compose.yml:
services:
n8n:
# ... resto de la configuración
mem_limit: 1g
mem_reservation: 512m
Error: «SSL certificate error» al acceder a n8n
Si Let’s Encrypt no emite el certificado correctamente, verifica que el subdominio ya resuelve correctamente a la IP del servidor (propaga en DNS puede tardar hasta 24h). Puedes verificar con dig n8n.tudominio.com.
Error: «Plesk Node.js app no arranca»
Si usas el Método 2, asegúrate de que la versión de Node.js es 18.x o 20.x. n8n ha dejado de soportar Node.js 16.x. Revisa los logs desde Plesk → Node.js → Logs.
Preguntas frecuentes sobre n8n en Plesk
¿n8n es gratuito si lo instalo en mi propio servidor?
Sí. n8n Community Edition es de código abierto y completamente gratuito para autohospedaje bajo la licencia Sustainable Use License. Solo pagas si usas la versión cloud oficial de n8n.io o necesitas funciones Enterprise (SSO, auditorías avanzadas, etc.).
¿Cuántos workflows puedo crear en n8n autohospedado?
Ilimitados. A diferencia de Zapier o Make, en la versión autohospedada no hay límite de workflows, ejecuciones ni tareas. El único límite es la capacidad de tu servidor.
¿Puedo usar n8n con mi WordPress en Plesk?
¡Por supuesto! De hecho, es una combinación muy potente. Puedes conectar n8n con tu WordPress mediante la integración nativa, la API REST de WordPress o webhooks para automatizar la publicación de contenidos, notificaciones, formularios de contacto y mucho más.
¿Se puede actualizar n8n sin perder los workflows?
Sí, siempre que hayas configurado un volumen persistente para los datos de n8n. Con Docker, los datos se guardan en el volumen aunque elimines y recrees el contenedor. Además, n8n permite exportar e importar workflows en formato JSON para mayor seguridad.
¿Es seguro exponer n8n a Internet?
Con las medidas correctas, sí. Asegúrate siempre de: usar HTTPS, habilitar autenticación (Basic Auth o registro de usuarios), actualizar n8n regularmente y considerar añadir una capa extra de protección como una IP allowlist en Plesk/firewall si solo accedes tú al panel.
Conclusión
Instalar n8n en Plesk es más sencillo de lo que parece, y los beneficios son enormes: tendrás una plataforma de automatización completamente bajo tu control, sin suscripciones mensuales caras y con la seguridad de que tus datos no salen de tu servidor.
Si tienes acceso root y Docker disponible, el Método 1 (Docker desde Plesk) es sin duda el camino más rápido y estable. Para entornos de producción críticos, el Método 3 (Docker Compose + systemd) te dará la mayor robustez.
¿Necesitas ayuda para configurar n8n o integrarlo con tu sitio web? En LaudeMMedia somos especialistas en posicionamiento SEO y automatización digital. Contacta con nosotros en nuestra página de contacto y te ayudamos.



