obsidian-dix/Install_n8n.md

4.2 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:

  1. WSL ya instalado (preferentemente Ubuntu).

  2. Node.js (v18 o superior).

  3. 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?