228 lines
4.4 KiB
Markdown
228 lines
4.4 KiB
Markdown
¡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
|
|
|
|
```bash
|
|
sudo apt update && sudo apt upgrade -y
|
|
```
|
|
|
|
#### 2. Instala Node.js (vía nvm recomendado)
|
|
|
|
```bash
|
|
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==
|
|
```bash
|
|
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
|
|
sudo apt install -y nodejs
|
|
```
|
|
|
|
|
|
Verifica que estén bien instalados:
|
|
|
|
```bash
|
|
node -v
|
|
npm -v
|
|
```
|
|
|
|
#### 3. Instala n8n globalmente
|
|
|
|
```bash
|
|
npm install -g n8n
|
|
```
|
|
|
|
Esto instalará el CLI de n8n de forma global.
|
|
|
|
#### 4. Ejecuta n8n
|
|
|
|
```bash
|
|
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í:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```ini
|
|
[boot]
|
|
systemd=true
|
|
```
|
|
|
|
Luego reinicia WSL:
|
|
|
|
```bash
|
|
wsl --shutdown
|
|
```
|
|
|
|
---
|
|
|
|
### 2. Crear servicio systemd para n8n
|
|
|
|
```bash
|
|
sudo nano /etc/systemd/system/n8n.service
|
|
```
|
|
|
|
Contenido del archivo (ajusta tu nombre de usuario y la ruta si es necesario):
|
|
|
|
```ini
|
|
[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==
|
|
```bash
|
|
ExecStart=/usr/bin/n8n
|
|
```
|
|
### 3. Habilita y levanta el servicio
|
|
|
|
```bash
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable n8n
|
|
sudo systemctl start n8n
|
|
```
|
|
|
|
Verifica que esté funcionando:
|
|
|
|
```bash
|
|
systemctl status n8n
|
|
```
|
|
|
|
|
|
==Para ubuntu server==
|
|
|
|
Para que puedas acceder a `n8n` desde otro equipo (navegador o API):
|
|
|
|
- Asegúrate de configurar el host:
|
|
```bash
|
|
export N8N_HOST=0.0.0.0
|
|
```
|
|
|
|
- O en el archivo de servicio:
|
|
```bash
|
|
Environment=N8N_HOST=0.0.0.0
|
|
```
|
|
|
|
- Y abre el puerto 5678:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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?
|
|
|
|
```bash
|
|
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?
|