Cómo Instalar n8n On-Premise con PM2 e IIS en Windows (Guía Completa)

¿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:


🚀 Paso 1: Instalar Node.js y PM2

  1. Descarga e instala Node.js desde la página oficial.
  2. Abre PowerShell o Símbolo del sistema como administrador.
  3. Verifica la instalación:
    node -v
    npm -v
    
  4. Instala PM2 globalmente:
    npm install pm2 -g
    

🧠 Paso 2: Instalar n8n

  1. En la consola, ejecuta:
    npm install -g n8n
    
  2. Verifica que la instalación fue exitosa:
    n8n --version
    

🔁 Paso 3: Ejecutar n8n con PM2

  1. Inicia n8n con PM2:
    pm2 start n8n --name "n8n"
    
  2. 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

  1. Abre el Administrador de IIS.
  2. Crea un nuevo sitio web o usa uno existente.
  3. Asegúrate de tener instalado el módulo URL Rewrite (descárgalo desde aquí).
  4. Coloca el siguiente archivo web.config dentro 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

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

ComandoDescripción
pm2 listLista todos los procesos gestionados
pm2 logs n8nMuestra los logs en tiempo real
pm2 restart n8nReinicia el servicio
pm2 delete n8nElimina el proceso de PM2
pm2 saveGuarda 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.


📎 Recursos Recomendados


@nthony

© 2025 Anthony

𝕏 GitHub