diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index a59c1b1..91a8e81 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -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" diff --git a/SERVERS - DIX/adjuntos/servers.xlsm b/SERVERS - DIX/adjuntos/servers.xlsm index e1af276..2d39b6a 100644 Binary files a/SERVERS - DIX/adjuntos/servers.xlsm and b/SERVERS - DIX/adjuntos/servers.xlsm differ diff --git a/SERVERS - DIX/adjuntos/~$servers.xlsm b/SERVERS - DIX/adjuntos/~$servers.xlsm new file mode 100644 index 0000000..ca4e87d Binary files /dev/null and b/SERVERS - DIX/adjuntos/~$servers.xlsm differ diff --git a/bash profile.md b/bash profile.md new file mode 100644 index 0000000..8eda7ff --- /dev/null +++ b/bash profile.md @@ -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 "" + +``` \ No newline at end of file diff --git a/n8n en ubuntu server.md b/n8n en ubuntu server.md new file mode 100644 index 0000000..ea1eded --- /dev/null +++ b/n8n en ubuntu server.md @@ -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? \ No newline at end of file