¿Quieres automatizar procesos de negocio de forma segura dentro de tu propia infraestructura? En esta guía aprenderás a instalar n8n on-premise en Windows, gestionarlo con PM2 y exponerlo a Internet mediante IIS (Internet Information Services), todo paso a paso.
🚀 ¿Qué es n8n?
n8n es una herramienta de automatización de flujos (workflow automation) similar a Zapier o Make, pero de código abierto y auto-hospedable.
Permite conectar APIs, bases de datos y servicios como Slack, Gmail, HubSpot o tu propia API corporativa, sin depender de un entorno en la nube.
Implementarlo on-premise te da control total sobre datos, seguridad y rendimiento.
⚙️ Requisitos Previos
Antes de comenzar, asegúrate de contar con lo siguiente:
- 🪟 Windows 10 / 11 / Server 2019+
- 💻 Node.js (versión LTS recomendada)
- 🧰 npm (viene incluido con Node.js)
- 🔁 PM2 (para ejecutar n8n como servicio)
- 🌐 IIS instalado con el módulo URL Rewrite
- 🔒 Certificado SSL (puede ser de Let’s Encrypt o un certificado propio)
🚀 Paso 1: Instalar Node.js y PM2
- Descarga e instala Node.js desde la página oficial.
- Abre PowerShell o Símbolo del sistema como administrador.
- Verifica la instalación:
node -v npm -v - Instala PM2 globalmente:
npm install pm2 -g
🧠 Paso 2: Instalar n8n
- En la consola, ejecuta:
npm install -g n8n - Verifica que la instalación fue exitosa:
n8n --version
🔁 Paso 3: Ejecutar n8n con PM2
- Inicia n8n con PM2:
pm2 start n8n --name "n8n" - Guarda la configuración para que se ejecute automáticamente al iniciar Windows:
pm2 startup pm2 save
👉 Esto asegura que n8n se reinicie automáticamente en caso de reinicio o fallo del sistema.
🌍 Paso 4: Configurar IIS como Reverse Proxy
- Abre el Administrador de IIS.
- Crea un nuevo sitio web o usa uno existente.
- Asegúrate de tener instalado el módulo URL Rewrite (descárgalo desde aquí).
- Coloca el siguiente archivo
web.configdentro de la carpeta raíz del sitio web (por ejemplo,C:\inetpub\wwwroot\n8n\):
📄 Ejemplo de archivo web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="n8n reverse proxy" stopProcessing="true">
<match url="(.*)" />
<serverVariables>
<set name="HTTP_HOST" value="tu-dominio.com" />
</serverVariables>
<action
type="Rewrite"
url="http://127.0.0.1:5678/{R:1}"
appendQueryString="true"
logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
🔍 Explicación
HTTP_HOST: Define el dominio que será reenviado al backend de n8n.url="http://127.0.0.1:5678/{R:1}": Redirige todas las solicitudes entrantes a n8n que corre localmente en el puerto 5678.appendQueryString="true": Mantiene los parámetros de consulta originales en la redirección.logRewrittenUrl="true": Permite registrar las URL reescritas en los logs de IIS.
De esta forma, cualquier acceso a https://tu-dominio.com será redirigido internamente hacia el proceso de n8n en el puerto 5678.
🔐 Paso 5: Configurar Variables de Entorno
Crea un archivo .env (por ejemplo, en C:\n8n\) con el siguiente contenido:
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=TuContraseñaSegura
N8N_HOST=wscanales.segfedpa.com
N8N_PORT=5678
N8N_PROTOCOL=https
Luego reinicia el proceso con PM2:
pm2 restart n8n
🧩 Paso 6: Probar la Instalación
Abre tu navegador y accede a:
https://tu-dominio.com/
Deberías ver la interfaz de n8n lista para usar.
Inicia sesión con las credenciales configuradas en el archivo .env.
🛠️ Comandos Útiles de PM2
| Comando | Descripción |
|---|---|
pm2 list | Lista todos los procesos gestionados |
pm2 logs n8n | Muestra los logs en tiempo real |
pm2 restart n8n | Reinicia el servicio |
pm2 delete n8n | Elimina el proceso de PM2 |
pm2 save | Guarda el estado actual de los procesos |
🧾 Conclusión
Con esta configuración, has logrado instalar n8n on-premise en Windows, ejecutarlo como servicio con PM2, y exponerlo de forma segura mediante IIS.
Esta arquitectura te ofrece autonomía, control y escalabilidad en tus automatizaciones empresariales.