La idea es instalar n8n en un servidor que ya aloja un dominio con WordPress (y otros sitios basados en WordPress) administrado mediante CloudPanel, sin que la nueva instalación afecte los servicios existentes.
Para lograrlo, lo ideal es ejecutar n8n dentro de un contenedor Docker, lo que permite mantenerlo aislado de las demás aplicaciones. Además, se configura un reverse proxy con Nginx para redirigir el tráfico de un subdominio (por ejemplo, n8n.tu-dominio.com) hacia el contenedor de n8n, asegurando que cada servicio funcione correctamente sin conflictos.
Instalar Docker:
La instalación de Docker se realiza a nivel del sistema operativo o sea en la raíz del sistema y no debe estar restringida a una carpeta específica.
Instrucciones para instalar Docker en tu servidor
Pasos para instalar Docker en un sistema basado en Ubuntu (ajusta según tu distribución si es necesario):
Actualiza el sistema:
sudo apt update sudo apt upgrade -y
Instala las dependencias necesarias:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
Añade la clave GPG de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Añade el repositorio de Docker:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Actualiza el índice de paquetes nuevamente:
sudo apt update
Instala Docker:
sudo apt install docker-ce -y
Verifica que Docker esté instalado correctamente:
sudo systemctl status docker
(Opcional) Añade tu usuario al grupo Docker (para ejecutar comandos de Docker sin sudo
):
sudo usermod -aG docker $USER
Reinicia tu sesión (para aplicar los cambios de grupo).
Instalación de Docker Compose (opcional pero recomendado)
Si deseas usar Docker Compose, puedes instalarlo así:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Luego, aplica permisos:
sudo chmod +x /usr/local/bin/docker-compose
Ahora ya puedes usar Docker en cualquier parte de tu sistema. Después de instalar Docker, puedes continuar con la instalación de n8n en /opt/n8n
.
Instalación de n8n en un subdominio con CloudPanel y Docker
(sin afectar WordPress en el dominio principal)
Crear el subdominio en Cloudflare
Antes de configurar el servidor, debes asegurarte de que n8n.tu-dominio.com apunta a tu IP:
1️⃣ Ve a Cloudflare y entra en la configuración de tu dominio.
2️⃣ En la sección DNS, agrega un nuevo registro:
- Tipo: A
- Nombre:
n8n
- IPv4: (la IP de tu servidor)
- Proxy: Activado
Crear un sitio Reverse Proxy en CloudPanel
1️⃣ Accede a CloudPanel en tu servidor.
2️⃣ Ve a Websites > Create Website.
3️⃣ Elige la opción Reverse Proxy.
4️⃣ Configura los datos:
- Domain:
n8n.tu-dominio.com
- Target URL:
http://127.0.0.1:5678
5️⃣ Guarda y crea el sitio.
Instalar n8n en Docker
1️⃣ Acceder al servidor por SSH:
ssh usuario@tu-servidor
2️⃣ Crear una carpeta para n8n:
mkdir -p /opt/n8n && cd /opt/n8n
3️⃣ Crear un archivo docker-compose.yml
:
nano docker-compose.yml
4️⃣ Agregar la siguiente configuración:
version: '3'
services:
n8n:
image: n8nio/n8n
container_name: n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.tu-dominio.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_TUNNEL_URL=https://n8n.tu-dominio.com/
- GENERIC_TIMEZONE=America/Argentina/Buenos_Aires
volumes:
- ~/.n8n:/home/node/.n8n
5️⃣ Guardar el archivo (CTRL + X
, luego Y
y Enter
).
6️⃣ Levantar el contenedor de n8n:
docker compose up -d
Verificar el acceso
Abre en tu navegador:
👉 https://n8n.tu-dominio.com
Si todo está bien, deberías ver la pantalla de inicio de n8n. 🚀
Proteger n8n con credenciales (Opcional)
Si quieres añadir seguridad con un usuario y contraseña, agrega estas líneas en docker-compose.yml
antes de levantar el contenedor:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=tucontraseña
Después, reinicia n8n con:
docker compose down && docker compose up -d
Ahora, cuando entres a n8n.
, te pedirá usuario y contraseña. 🔐tu-dominio.com
🚀 ¡Listo! Ahora tienes n8n funcionando en un subdominio sin afectar tu sitio principal en WordPress! y con una instalación segura y fácil de mantener🎯
¿Cómo asegurar que n8n no afecta tus sitios en WordPress?
WordPress funciona con Apache/Nginx dentro de CloudPanel
- CloudPanel gestiona los sitios en WordPress de manera separada.
- Docker usa su propio entorno y red, por lo que no toca directamente el servidor web de CloudPanel.
n8n se ejecutará en un puerto específico (Ej: 5678)
- Tus webs en WordPress seguirán usando los puertos 80 y 443 para HTTP/HTTPS.
- n8n estará aislado en el puerto 5678 y solo se accederá mediante el Reverse Proxy en
.n8n/tu-dominio.com
El Reverse Proxy redirige /n8n
sin tocar WordPress
- CloudPanel manejará las solicitudes y enviará solo el tráfico de
/n8n
a Docker.
- WordPress sigue sirviendo
sin cambios.tu-dominio.com
✅ Bueno eso es todo.. gracias por llegar hasta acá, cualquier duda estoy atento.. saludos!