01. Volver al blog
16 de marzo de 2026 Autor: Jesus David

Guía para Instalar n8n en VPS con CloudPanel y Reverse Proxy

Guía paso a paso para instalar n8n en un VPS con CloudPanel usando Docker y reverse proxy con SSL.

Automatización DevOps n8n Docker VPS CloudPanel Reverse proxy
Imagen 1: Guía para Instalar n8n en VPS con CloudPanel y Reverse Proxy

1️⃣ Requisitos previos antes de instalar

  • VPS con CloudPanel ya instalado.

  • Docker instalado en el VPS:

curl -fsSL https://get.docker.com | sh
  • Dominio o subdominio apuntando a la IP del VPS.

  • Certificado SSL habilitado en CloudPanel para ese subdominio.


2️⃣ Configurar el Reverse Proxy en CloudPanel

  1. Entra a CloudPanelSitesCreate SiteReverse Proxy.

  2. Completa así:

  3. Crear el sitio.

  4. Entrar en el sitio recién creado y activar Let’s Encrypt SSL.


3️⃣ Preparar el entorno Docker

  1. Conectarte por SSH al VPS.

  2. Crear un volumen limpio para los datos:

docker volume create n8n_data

4️⃣ Descargar e iniciar n8n

Usamos la imagen estable desde GitHub Container Registry para evitar errores de latest roto.

docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=USUARIO \
  -e N8N_BASIC_AUTH_PASSWORD=CONTRASEÑA \
  -e N8N_HOST=subdominio.tudominio.com \
  -e N8N_PORT=5678 \
  -e N8N_PROTOCOL=http \
  -e WEBHOOK_URL=https://subdominio.tudominio.com/ \
  -e NODE_ENV=production \
  --restart unless-stopped \
  ghcr.io/n8n-io/n8n:1.109.2

📌 Sustituir

  • USUARIO → usuario para acceder a n8n.

  • CONTRASEÑA → contraseña para acceder.

  • subdominio.tudominio.com → el subdominio configurado en CloudPanel.


5️⃣ Verificar que está funcionando

  • Ver logs:
docker logs -f n8n

Debes ver:

n8n ready on 0.0.0.0, port 5678
  • Probar en el navegador:
https://subdominio.tudominio.com

Entrar con usuario y contraseña configurados.


6️⃣ Actualizar n8n en el futuro

docker stop n8n && docker rm n8n
docker pull ghcr.io/n8n-io/n8n:1.109.2
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=USUARIO \
  -e N8N_BASIC_AUTH_PASSWORD=CONTRASEÑA \
  -e N8N_HOST=subdominio.tudominio.com \
  -e N8N_PORT=5678 \
  -e N8N_PROTOCOL=http \
  -e WEBHOOK_URL=https://subdominio.tudominio.com/ \
  -e NODE_ENV=production \
  --restart unless-stopped \
  ghcr.io/n8n-io/n8n:1.109.2

7️⃣ Notas importantes

  • No uses ~/.n8n en el host: puede causar el error "Command start not found".

  • Siempre usar un volumen limpio gestionado por Docker (n8n_data).

  • N8N_PROTOCOL=http porque CloudPanel maneja el SSL.

  • El puerto 5678 solo debe ser accesible localmente, el acceso externo siempre por el subdominio con Reverse Proxy.

  • Si cambias de subdominio, debes cambiar N8N_HOST y WEBHOOK_URL.