Instalación y Configuración de n8n en Linux
1. 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.
2. 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 😉)
3. PRÁCTICA GUIADA - INSTALACIÓN #
4. 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
5. PASO 2 - Instalar n8n globalmente #
1sudo npm install -g n8n
Comprueba que funciona:
1n8n --version
6. PASO 3 - Ejecutarlo por primera vez #
1n8n
Te aparecerá algo como:
Editor is now accessible via:
http://localhost:5678
7. 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
8. PASO 5 - Abrir el puerto en firewall (si usas UFW) #
1sudo ufw allow 5678 2sudo ufw reload
9. 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
10. 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
11. 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
Resumen del tema
Conceptos clave #
- Plataforma de Automatización de Flujos (n8n): motor de integración fair-code auto-hospedado basado en Node.js que expone un editor web en el puerto
5678. - Requisitos de Ejecución: entorno Node.js (v20+) e instalación global mediante
sudo npm install -g n8n. - Variables de Entorno Críticas:
N8N_HOST=0.0.0.0yN8N_PORT=5678para escuchar en todas las interfaces de red.N8N_BASIC_AUTH_ACTIVE=truejunto con credenciales de usuario/contraseña para restringir accesos.
- Despliegue como Servicio Systemd: configuración en
/etc/systemd/system/n8n.servicecon auto-reinicio (Restart=always) y control mediantesystemctl. - Seguridad en Cortafuegos: apertura del puerto 5678 con
sudo ufw allow 5678/tcp.
Qué debes recordar #
n8n permite automatizar flujos de trabajo e integraciones API en Linux escuchando en el puerto 5678 y gestionado de forma desatendida mediante un servicio systemd.