n8n self-hosted: automatizaciones en tu propio VPS con HTTPS
Tutorial · · 6 min de lectura
n8n es una herramienta para automatizar tareas entre aplicaciones con un editor visual: cuando llega un formulario, crea una tarjeta; cuando falla un pago, avisa por Telegram; cada lunes, genera un informe. Es la alternativa a Zapier o Make que se puede alojar en tu servidor.
Alojarlo tú tiene dos ventajas claras. La primera, que no pagas por ejecución: tus flujos pueden correr cada minuto sin que se dispare la factura. La segunda, que las credenciales de tus servicios (API keys, tokens, contraseñas) se quedan cifradas en tu servidor. La versión Community de n8n es gratuita para uso interno según su licencia, la Sustainable Use License.
Qué necesitas
- Un VPS con Docker y al menos 1 GB de RAM. Para flujos sencillos sobra; si vas a procesar ficheros grandes, mejor 2 GB.
- El servidor conectado a SecuryBlack con CromoForge, el agente que despliega las apps.
- Un subdominio, por ejemplo
n8n.tudominio.com. - Los puertos 80 y 443 libres para el proxy HTTPS.
Paso 1: apunta el subdominio al servidor
Crea un registro A con el nombre n8n y la IP pública de tu VPS (y AAAA si tienes IPv6). Tiene que resolver antes de crear la app, porque el certificado se pide al arrancar:
dig +short n8n.tudominio.com
Paso 2: crea la app desde la plantilla
En el panel, ve a Apps → Nueva app → Plantilla, elige n8n y rellena nombre, servidor y dominio. Si ya tienes sesión, este enlace abre la plantilla de n8n elegida.
Paso 3: lo que la plantilla configura por ti
Instalar n8n con Docker es fácil; dejarlo bien detrás de un proxy es donde la gente se atasca. La plantilla se encarga de:
- La clave de cifrado. n8n cifra las credenciales que guardas con
N8N_ENCRYPTION_KEY. Si esa clave se pierde o cambia, las credenciales guardadas dejan de servir. La plantilla la genera al crear la app y la guarda cifrada como variable de entorno, así que es la misma en cada despliegue. - La URL de los webhooks. Con
WEBHOOK_URLapuntando ahttps://n8n.tudominio.com/, los nodos Webhook muestran la URL pública correcta y no unlocalhost:5678que no funciona fuera del servidor. - El proxy. n8n sabe que va detrás de un proxy HTTPS (
N8N_PROXY_HOPS=1), así que las cookies de sesión y las redirecciones funcionan bien. - Los datos en un volumen. La base de datos SQLite de n8n, con tus flujos, ejecuciones y credenciales, vive en un volumen de Docker que se conserva entre despliegues.
- HTTPS automático con un proxy Caddy que pide y renueva el certificado. n8n solo escucha en
127.0.0.1.
Paso 4: crea la cuenta de propietario ya
Abre https://n8n.tudominio.com. La primera pantalla te pide crear una cuenta: la primera que se crea es la de propietario de la instancia. Hazlo nada más terminar el despliegue; mientras no exista, cualquiera que llegue a la URL podría quedársela.
Paso 5: tu primer flujo
Pulsa Create workflow y prueba algo sencillo:
- Un nodo Schedule Trigger que se ejecute cada día a las 9:00.
- Un nodo HTTP Request que consulte una API.
- Un nodo de Telegram, Slack o Email que te mande el resultado.
Activa el flujo con el interruptor de arriba y ya corre solo en tu servidor. Si usas un nodo Webhook, copia su Production URL: ya lleva tu dominio con HTTPS, lista para pegar en GitHub, Stripe o tu formulario.
Actualizar y mantener n8n
- Actualizar: pulsa Desplegar en la app. Se descarga la última versión estable de n8n y, al arrancar, migra su base de datos. Tus flujos y credenciales siguen en el volumen. Antes de actualizar, mira las notas de la versión por si hay cambios que rompan algo.
- Vigilarlo: añade un monitor de uptime contra
https://n8n.tudominio.com/healthz. Si n8n se cae, tus automatizaciones dejan de correr en silencio. Para los flujos programados más importantes, un heartbeat al final del flujo te avisa si un día no se ejecuta. - Borrarlo: desde Ajustes → Zona peligrosa. Al borrar la app se borra también su volumen, con todos los flujos y credenciales.
Conclusión
n8n en tu propio VPS te da automatizaciones sin límite de ejecuciones y con tus credenciales en casa. La parte delicada, que es la clave de cifrado, la URL de los webhooks y el HTTPS, la deja configurada la plantilla. Crea tu cuenta en SecuryBlack y tendrás n8n en tu servidor en unos minutos.