agregue una nota nueva de instalar n8n

This commit is contained in:
David Itehua Xalamihua 2025-08-03 15:59:01 -06:00
parent c40beb6c69
commit 7b58247cdc
5 changed files with 311 additions and 12 deletions

View File

@ -4,11 +4,11 @@
"type": "split",
"children": [
{
"id": "9e4184639eca25d5",
"id": "c9459e4c1cce9ef5",
"type": "tabs",
"children": [
{
"id": "e1876ef494005bf6",
"id": "e6471bc47d33b514",
"type": "leaf",
"state": {
"type": "empty",
@ -49,7 +49,7 @@
"state": {
"type": "search",
"state": {
"query": "clou",
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
@ -70,13 +70,11 @@
"title": "Marcadores"
}
}
],
"currentTab": 1
]
}
],
"direction": "horizontal",
"width": 458.5,
"collapsed": true
"width": 458.5
},
"right": {
"id": "3135a52cf6a285ff",
@ -166,8 +164,13 @@
"command-palette:Abrir paleta de comandos": false
}
},
"active": "e1876ef494005bf6",
"active": "e6471bc47d33b514",
"lastOpenFiles": [
"n8n en ubuntu server.md",
"Install_n8n.md",
"bash profile.md",
"SERVERS - DIX/adjuntos/~$servers.xlsm",
"SERVERS - DIX/adjuntos/D2C0A000",
"Agencia_Espacial_Mexicana/DDNS RASTREO CON CLOUDFLARE.md",
"DIX_Cluster.canvas",
"Otras_varias/Jellyfin en ubuntu server 24.04.md",
@ -195,7 +198,6 @@
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801164722.png",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801164713.png",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801164657.png",
"Install_n8n.md",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Manual_Introduccio_n_a_la_APF-E4.pdf",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Manual_Introduccio_n_a_la_APF-E4.pdf.crdownload",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801161038.png",
@ -204,16 +206,13 @@
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos/Pasted image 20250801160811.png",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal",
"Agencia_Espacial_Mexicana/Cursos_Capacitación/Introducción a la Administración Pública Federal/adjuntos",
"Agencia_Espacial_Mexicana/Cursos_Capacitación",
"SERVERS - DIX/SERVERS DIX.md",
"SERVERS - DIX/adjuntos",
"Configuración Hostinger.md",
"Udemy_Cursos/Curso n8n Crea Agentes de IA sin Código con Make y Zapier/2. zapier.md",
"Udemy_Cursos/Curso n8n Crea Agentes de IA sin Código con Make y Zapier/1. Intro Agentes de IA.md",
"Udemy_Cursos/Uploads.md",
"RCLONE Y DRIVE/SINCRONIZAR DRIVE Y UN VPS.md",
"Agencia_Espacial_Mexicana/Transparencia/Sobre Transparencia.md",
"Servidor Minecraft/Crear un servidor de Minecraft Java Edition (versión 1.21.5).md",
"Sin título 3.canvas",
"Sin título 2.canvas",
"Sin título 1.canvas"

Binary file not shown.

Binary file not shown.

46
bash profile.md Normal file
View File

@ -0,0 +1,46 @@
```bash
# speedtest: https://www.speedtest.net/es/apps/cli
# calendar: https://hijosdeinit.gitlab.io/howto_instalacion_cal_debian11_y_derivados/
# dix_zip() {
# # sudo apt install zip -y
# # sudo apt install unzip
# # https://www.tecmint.com/install-zip-and-unzip-in-linux/
# name=$1
# fecha=$(date +'%d.%m.%Y')
# hora=$(date +'%H-%M-%S')
# full_name="${name}_date_${fecha}_time_${hora}.zip"
# zip -r $full_name . -i ".*" "*" -x "./.venv/*"
# }
ip_device=$(ip addr show | grep -w 'inet' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1 | head -n 1)
declare -A ip_icon=(
['192.168.10.40']='uk'
['192.168.10.234']='lb'
['192.168.10.44']='db'
['192.168.10.122']='mb'
['192.168.10.37']='web1'
['192.168.10.245']='web2'
['192.168.10.232']='web3'
['192.168.10.42']='web5'
['192.168.10.43']='web5'
['192.168.10.59']='web6'
)
# Asignar el nombre del servidor o un valor por defecto
if [[ -n "${ip_icon[$ip_device]}" ]]; then
n_server="${ip_icon[$ip_device]}"
else
n_server="WSL"
fi
export PS1="\[\e[31m\][\[\e[38;5;214m\]$n_server\[\e[31m\]]\[\e[0m\] 📂 > \[\033[01;32m\]\W \[\033[00m\]\n 💀 > "
echo ""
# sudo apt install fastfetch -y
fastfetch
echo ""
```

254
n8n en ubuntu server.md Normal file
View File

@ -0,0 +1,254 @@
Perfecto, David. A continuación te dejo el **manual completo y actualizado** para instalar `n8n` de forma manual en Ubuntu Server (sin Docker), incluyendo:
- Instalación limpia de Node.js 20
- Instalación de n8n y pm2
- Script de arranque con autenticación básica
- Ejecución en segundo plano con reinicio automático al encender el servidor
---
# 🛠 Manual actualizado para instalar n8n (sin Docker) en Ubuntu Server
---
## ✅ 1. Actualiza el sistema e instala dependencias
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg build-essential
```
---
## ✅ 2. Instala Node.js 20 (requerido por versiones recientes de n8n)
```bash
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
```
Verifica que esté instalado correctamente:
```bash
node -v
npm -v
```
Debe mostrar algo como `v20.x.x`.
---
## ✅ 3. Instala `n8n` y `pm2` globalmente
```bash
sudo npm install -g pm2 n8n
```
---
## ✅ 4. Crea el script de arranque `n8n`
```bash
nano ~/start-n8n.sh
```
Pega el siguiente contenido:
```bash
#!/bin/bash
export N8N_HOST=0.0.0.0
export N8N_PORT=5678
export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=admin
export N8N_BASIC_AUTH_PASSWORD=Shala55951254
n8n
```
Guarda y cierra (Ctrl+O, Enter, Ctrl+X).
Hazlo ejecutable:
```bash
chmod +x ~/start-n8n.sh
```
---
## ✅ 5. Ejecuta el script para probar
```bash
~/start-n8n.sh
```
Deberías ver un mensaje como:
```
Editor is now accessible via: http://0.0.0.0:5678
```
📌 Accede desde el navegador con la IP del servidor:
```
http://TU_IP:5678
```
Usuario: `admin`
Contraseña: `Shala55951254`
---
## ✅ 6. Ejecutar n8n en segundo plano con `pm2`
### A. Inicia el proceso con `pm2`:
```bash
pm2 start ~/start-n8n.sh --name n8n
```
### B. Guarda el proceso para que se reinicie con el sistema:
```bash
pm2 startup
```
Copia y ejecuta la línea que te devuelva (ejemplo):
```bash
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u $USER --hp /home/$USER
```
Luego:
```bash
pm2 save
```
---
## ✅ 7. (Opcional) Abre el puerto en el firewall
```bash
sudo ufw allow 5678/tcp
sudo ufw enable
sudo ufw status
```
---
## ✅ 8. Comandos útiles
- Ver estado de procesos:
```bash
pm2 list
```
- Ver logs en tiempo real:
```bash
pm2 logs n8n
```
- Parar o reiniciar:
```bash
pm2 stop n8n
pm2 restart n8n
```
- Eliminar proceso:
```bash
pm2 delete n8n
```
---
¿Quieres que ahora te dé el manual con NGINX + HTTPS (Let's Encrypt) para que accedas por dominio seguro como `https://n8n.tudominio.com`?
# hacer que el servicio de n8n se reincie con el equipo
Excelente pregunta, David. Si `n8n` no se reinicia automáticamente tras reiniciar tu servidor, lo más probable es que **faltó ejecutar correctamente uno de los pasos con `pm2`** para registrar el arranque del proceso.
Aquí te explico cómo asegurar que n8n se inicie automáticamente al arrancar el servidor:
---
## ✅ Paso a paso para activar reinicio automático con `pm2`
### 1. Asegúrate de que `n8n` está corriendo con `pm2`
Confirma con:
```bash
pm2 list
```
Deberías ver un proceso llamado `n8n`.
---
### 2. Genera el script de arranque para `systemd`
```bash
pm2 startup
```
Esto te devolverá una línea como esta (con tu usuario):
```bash
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u web --hp /home/web
```
🔁 **Cópiala y ejecútala exactamente**.
> ⚠️ Este paso es **clave**: si no ejecutas esa línea, `pm2` no se integrará con `systemd` y no podrá reiniciar tus procesos al arrancar el servidor.
---
### 3. Guarda el estado actual de los procesos
```bash
pm2 save
```
Esto crea un snapshot de los procesos actuales que serán restaurados al reinicio.
---
### 4. Verifica que todo esté correcto
Puedes simular un reinicio:
```bash
sudo reboot
```
Luego, tras reiniciar, verifica:
```bash
pm2 list
```
Y accede a `http://IP:5678` para confirmar que `n8n` se levantó automáticamente.
---
## ✅ Resumen de comandos clave
```bash
pm2 start ~/start-n8n.sh --name n8n
pm2 startup # (ejecutar también la línea que devuelve)
pm2 save
```
---
¿Quieres que revise también cómo levantar `pm2` con un usuario distinto al login por defecto o con logs persistentes en un archivo?