Curso de servidores linux
¿Qué es n8n?
n8n es una herramienta de automatización de flujos de trabajo (tipo Zapier, pero open source).
Permite:
- Conectar APIs
- Automatizar tareas
- Integrar bases de datos
- Crear bots
- Ejecutar lógica condicional
- Crear backend sin código
Y lo mejor: 👉 Se puede auto-hospedar en tu servidor Linux.
Arquitectura que vamos a montar
En tu Linux Mint (VM):
Alumnos → Navegador → n8n (puerto 5678)
Más adelante podemos:
- Ponerlo detrás de nginx
- Activar HTTPS
- Añadir autenticación
- Conectarlo a PostgreSQL (ya que lo tienes instalado 😉)
🚀 PRÁCTICA GUIADA – INSTALACIÓN
🧩 PASO 1 — Comprobar que tienes Node.js
n8n funciona con Node.
1node -v
Si NO lo tienes:
1sudo apt update 2sudo apt install nodejs npm -y
Comprueba versión:
1node -v 2npm -v
Recomendado: Node 20 o superior.
NOTA: Si la version es inferior a la 20 actualizala
1curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - 2sudo apt-get install -y nodejs
📦 PASO 2 — Instalar n8n globalmente
1sudo npm install -g n8n
Comprueba que funciona:
1n8n --version
▶ PASO 3 — Ejecutarlo por primera vez
1n8n
Te aparecerá algo como:
Editor is now accessible via:
http://localhost:5678
🌐 PASO 4 — Permitir acceso desde otra máquina
Ahora mismo solo escucha en localhost.
Vamos a permitir acceso desde red:
1export N8N_HOST=0.0.0.0 2export N8N_PORT=5678 3export N8N_SECURE_COOKIE=false 4n8n
Ahora podrás acceder desde:
http://IP_DE_TU_SERVIDOR:5678
Comprueba tu IP:
1ip a
🔥 PASO 5 — Abrir el puerto en firewall (si usas UFW)
1sudo ufw allow 5678 2sudo ufw reload
🛡️ PASO 6 — Proteger con usuario y contraseña (MUY IMPORTANTE)
Si lo vas a abrir en red:
1export N8N_BASIC_AUTH_ACTIVE=true 2export N8N_BASIC_AUTH_USER=admin 3export N8N_BASIC_AUTH_PASSWORD=tuPasswordSeguro
Luego:
1n8n
⚙️ PASO 7 — Ejecutarlo como servicio (modo profesional)
Creamos servicio systemd:
1sudo nano /etc/systemd/system/n8n.service
Contenido:
1[Unit] 2Description=n8n 3After=network.target 4 5[Service] 6Type=simple 7User=angel 8ExecStart=/usr/bin/n8n 9Restart=always 10Environment=N8N_HOST=0.0.0.0 11Environment=N8N_PORT=5678 12Environment=N8N_BASIC_AUTH_ACTIVE=true 13Environment=N8N_BASIC_AUTH_USER=admin 14Environment=N8N_BASIC_AUTH_PASSWORD=tuPasswordSeguro 15 16[Install] 17WantedBy=multi-user.target
Guardar y ejecutar:
1sudo systemctl daemon-reload 2sudo systemctl enable n8n 3sudo systemctl start n8n
Comprobar estado:
1sudo systemctl status n8n
🏆 OPCIONAL PRO (Recomendado para tu servidor)
Como ya tienes:
- nginx
- PostgreSQL
- SSH
- Fail2ban
Podemos hacer instalación más profesional:
-
n8n detrás de nginx
-
Base de datos PostgreSQL
-
HTTPS con Let's Encrypt
-
Subdominio tipo:
n8n.tuservidor.local