4.4 KiB
¡Claro, David! Aquí tienes una guía clara para instalar n8n en WSL (Windows Subsystem for Linux). Usaremos Node.js (v18 LTS o superior) y npm para instalarlo directamente.
✅ Requisitos previos
Asegúrate de tener lo siguiente:
-
WSL ya instalado (preferentemente Ubuntu).
-
Node.js (v18 o superior).
-
npm (gestor de paquetes de Node.js).
🔧 Pasos para instalar n8n en WSL
1. Actualiza tu sistema
sudo apt update && sudo apt upgrade -y
2. Instala Node.js (vía nvm recomendado)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
==Para ubuntu server la instalación de Node.js==
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
Verifica que estén bien instalados:
node -v
npm -v
3. Instala n8n globalmente
npm install -g n8n
Esto instalará el CLI de n8n de forma global.
4. Ejecuta n8n
n8n
Verás un mensaje como:
n8n ready on 127.0.0.1, port 5678
Desde Windows, abre tu navegador y ve a:
📍 http://localhost:5678
🛡️ Opcional: Configurar credenciales y seguridad
Por defecto, n8n se instala sin autenticación. Para producción o pruebas seguras, puedes establecer una contraseña así:
export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=admin
export N8N_BASIC_AUTH_PASSWORD=mi_contraseña_segura
n8n
🛠️ ¿Quieres levantarlo en segundo plano?
Puedes usar tmux
, screen
o pm2
:
Ejemplo con pm2
:
npm install -g pm2
pm2 start n8n
pm2 startup
pm2 save
¿Quieres que n8n arranque automáticamente al iniciar WSL o levantarlo con Docker también? Puedo ayudarte con eso también si gustas.
ejecutar en segundo plano n8n en wsl:
Sí, el enfoque que muestras con systemd
para levantar un servidor de Minecraft es perfectamente replicable para n8n, con unas pequeñas adaptaciones.
🚫 PERO HAY UN DETALLE IMPORTANTE:
WSL no soporta systemd
por defecto en versiones antiguas. Sin embargo, WSL2 en Windows 11 ya permite activarlo.
✅ OPCIÓN A: Si tienes WSL2 con systemd habilitado
1. Verifica que systemd
esté habilitado
En /etc/wsl.conf
, debe decir:
[boot]
systemd=true
Luego reinicia WSL:
wsl --shutdown
2. Crear servicio systemd para n8n
sudo nano /etc/systemd/system/n8n.service
Contenido del archivo (ajusta tu nombre de usuario y la ruta si es necesario):
[Unit]
Description=n8n workflow automation
After=network.target
[Service]
User=web # <- tu usuario de WSL
Environment=PATH=/home/web/.nvm/versions/node/v18.XX.X/bin:/usr/bin:/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/web
ExecStart=/home/web/.nvm/versions/node/v18.XX.X/bin/n8n
Restart=on-failure
[Install]
WantedBy=default.target
📌 Reemplaza v18.XX.X
con la versión exacta que tienes (node -v
y which n8n
te ayudan a saberlo).
==Para ubuntu server==
ExecStart=/usr/bin/n8n
3. Habilita y levanta el servicio
sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8n
Verifica que esté funcionando:
systemctl status n8n
==Para ubuntu server==
Para que puedas acceder a n8n
desde otro equipo (navegador o API):
- Asegúrate de configurar el host:
export N8N_HOST=0.0.0.0
- O en el archivo de servicio:
Environment=N8N_HOST=0.0.0.0
- Y abre el puerto 5678:
sudo ufw allow 5678/tcp
🟡 OPCIÓN B: Si NO tienes systemd activado (por ejemplo en Windows 10 o WSL1)
Usa mejor PM2 para ejecutar en segundo plano:
npm install -g pm2
pm2 start n8n
pm2 startup
pm2 save
Con eso n8n se ejecutará como demonio cada vez que abras WSL.
🔄 ¿Cómo reiniciar n8n con systemd?
sudo systemctl restart n8n
¿Quieres que también tenga autenticación, log de errores o conecte a PostgreSQL? Puedo ayudarte a extender el servicio según tus necesidades.
¿Te gustaría saber cómo revisar logs o cómo incluir variables de entorno como el webhook URL base?