Ir al contenido
  1. Posts/

n8n: automatización de workflows en tu propio servidor

Empecé con Zapier como todo el mundo. Luego pasé a Make (antes Integromat) cuando los precios de Zapier me parecieron excesivos para lo que usaba. Y finalmente llegué a n8n, lo monté en mi homelab, y desde entonces no he vuelto a pagar por ningún servicio de automatización cloud.

Esto no es una comparativa superficial. Llevo más de un año con n8n en producción, tengo más de 40 workflows activos, y he migrado casi todo lo que antes hacía en Make. Te cuento lo que funciona, lo que no, y cómo montarlo sin complicarte la vida.

Qué es n8n y por qué importa
#

n8n es una herramienta de automatización de flujos de trabajo con interfaz visual. Visualmente se parece a Make o Zapier: conectas nodos que representan acciones, defines cuándo se disparan, y el sistema ejecuta todo automáticamente.

La diferencia con los servicios cloud es que puedes instalarlo en tu propio servidor. Eso tiene varias implicaciones prácticas:

Sin límites de operaciones. Zapier cobra por “tareas” (cada acción individual en un workflow) y Make por operaciones mensuales. Con n8n en tu servidor ejecutas lo que quieras, las veces que quieras, sin contador.

Acceso a APIs internas. Puedo conectar n8n directamente con servicios en mi red local que ninguna herramienta cloud puede tocar: mi NAS, mi instancia de Home Assistant, APIs privadas en mis servidores, webhooks internos.

Datos que no salen de casa. Para automatizaciones que manejan datos personales o de negocio, es relevante que toda la ejecución ocurre en tu infraestructura.

El modelo de licencia de n8n es “fair code”: el código fuente es público y puedes usarlo libremente para uso personal o interno. Si quieres vender workflows como servicio a terceros, necesitas licencia comercial. Para homelab y uso propio, es completamente libre.

Instalación con Docker Compose
#

La forma más sencilla de montar n8n en homelab es con Docker Compose. Aquí el stack que uso, adaptado para que no exponga datos sensibles:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.mi-homelab.local
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.mi-homelab.local/
      - GENERIC_TIMEZONE=Europe/Madrid
      - TZ=Europe/Madrid
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=tu-password-aqui
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=n8n-postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=db-password-aqui
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - n8n-postgres

  n8n-postgres:
    image: postgres:15
    restart: unless-stopped
    environment:
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=db-password-aqui
      - POSTGRES_DB=n8n
    volumes:
      - n8n_postgres:/var/lib/postgresql/data

volumes:
  n8n_data:
  n8n_postgres:

Un par de cosas importantes sobre este stack:

Usa PostgreSQL en lugar de SQLite. La instalación por defecto de n8n usa SQLite, que funciona para pruebas pero no escala bien con muchos workflows o ejecuciones frecuentes. PostgreSQL es más robusto y prácticamente obligatorio si vas a tener n8n en producción.

Define WEBHOOK_URL correctamente. Muchos workflows se disparan via webhook (una URL que otros servicios llaman para iniciar el flujo). Si esta variable no está bien configurada, los webhooks no funcionan desde fuera de tu servidor.

Reverse proxy recomendado. No expongas el puerto 5678 directamente a internet. Ponle un Nginx Proxy Manager o Traefik por delante para gestionar el certificado SSL. Los webhooks de servicios externos como Telegram, Stripe o GitHub requieren HTTPS obligatoriamente.

Para levantar el stack:

1
docker compose up -d

Accede a http://tu-servidor:5678 en el navegador, crea tu cuenta de admin, y ya tienes n8n listo.

Los conceptos básicos
#

n8n trabaja con tres conceptos que conviene tener claros:

Workflows: El flujo completo de automatización. Cada workflow tiene un nodo trigger (el que inicia la ejecución) y uno o varios nodos de acción.

Nodos: Cada paso del workflow. Hay nodos para casi todo: HTTP Request (para llamar cualquier API), Gmail, Telegram, Slack, Google Sheets, bases de datos, código JavaScript personalizado, condiciones, loops…

Triggers: Cómo se inicia el workflow. Puede ser por webhook (una llamada HTTP externa), por cron (tiempo programado), manualmente, o cuando otro workflow termina.

Workflows que tengo en producción
#

Después de un año con n8n, algunos de los workflows que más uso:

Monitor de backups. Cada mañana a las 6:00 revisa si los backups nocturnos de mis servidores completaron correctamente (consultando la API de mi software de backup), y me manda un mensaje de Telegram si algo falló. Seis nodos en total, tardé 20 minutos en montarlo.

Scraping de precios. Tengo watchlists de componentes de hardware. El workflow visita las páginas cada 4 horas, extrae el precio, lo guarda en una hoja de Google Sheets, y me avisa si algún precio baja del umbral que definí. Útil para pillar ofertas en CPUs y mini PCs.

Procesamiento de formularios web. Los formularios de contacto de un par de proyectos envían sus datos via webhook a n8n. El workflow valida los datos, crea una tarea en mi gestor de tareas, envía un email de confirmación al usuario, y guarda el contacto en una hoja de cálculo. Antes pagaba por Zapier para esto.

Sincronización de datos entre sistemas. Tengo un workflow que cada hora extrae datos de ventas de una API externa, los transforma, y los mete en mi base de datos local para análisis. Sin n8n esto sería un script Python con cron, que funciona pero es más difícil de mantener y debuggear.

Notificaciones de Home Assistant. Cuando ciertos sensores de Home Assistant superan umbrales (temperatura de servidor, consumo eléctrico anómalo), Home Assistant llama a un webhook de n8n, que procesa la información y manda una notificación con contexto adicional.

Lo que n8n hace mejor que Make y Zapier
#

El nodo de código. n8n tiene un nodo “Code” donde puedes escribir JavaScript directamente. Esto es enorme. En Zapier y Make estás limitado a las transformaciones que ellos te ofrecen. En n8n, si necesitas procesar datos de una forma compleja, escribes el código. No dependes de que la herramienta tenga la función que necesitas.

HTTP Request sin restricciones. El nodo HTTP Request de n8n puede llamar a cualquier API que tú quieras, incluyendo APIs internas de tu red local. En Zapier esto no existe: solo puedes conectar servicios que Zapier soporta oficialmente.

Logs de ejecución detallados. Cuando un workflow falla, n8n te muestra exactamente qué datos entraron en cada nodo, qué datos salieron, y dónde ocurrió el error. Esto hace que debuggear sea relativamente rápido.

Ejecuciones paralelas. Puedes tener varios workflows ejecutándose al mismo tiempo sin que se bloqueen entre sí. En los planes gratuitos de Make o Zapier, las ejecuciones son secuenciales o tienen límites.

Lo que Make y Zapier hacen mejor (siendo honesto)
#

n8n tiene puntos débiles que conviene conocer antes de migrar.

Menos integraciones nativas. Zapier tiene más de 6.000 integraciones. n8n tiene unos 400 nodos oficiales. Para la mayoría de servicios comunes (Gmail, Slack, Telegram, GitHub, Notion, Airtable) n8n los cubre perfectamente. Para servicios más nicho o de industrias específicas, puede que no exista el nodo y tengas que usar HTTP Request directamente, lo que requiere más configuración.

Interfaz menos pulida. La UI de n8n funciona bien pero no tiene la misma calidad visual que Make. Los flujos complejos con muchos nodos pueden volverse difíciles de leer y reorganizar. Es algo en lo que han mejorado bastante en las últimas versiones, pero Make sigue ganando en este apartado.

Requiere mantenimiento. Al estar self-hosted, tú gestionas las actualizaciones, los backups, y los posibles fallos. Si el servidor donde corre n8n tiene un problema, tus automatizaciones se detienen. Zapier y Make tienen SLAs de disponibilidad que n8n self-hosted no puede igualar a menos que montes redundancia.

La curva de aprendizaje es real. Zapier es más intuitivo para alguien sin contexto técnico. n8n asume que te manejas con APIs, JSON, y conceptos de programación. No es difícil, pero requiere más conocimiento de entrada.

Backups de n8n
#

Un punto que no puede pasar por alto: tienes que hacer backup de n8n.

Los workflows que construyes son datos valiosos. Si pierdes la base de datos de n8n, pierdes todos tus flujos. Tienes dos opciones:

Exportar workflows manualmente. n8n permite exportar cualquier workflow como JSON desde la interfaz. Es un proceso manual pero sirve para tener una copia de los flujos importantes.

Backup de la base de datos PostgreSQL. La forma robusta es incluir el volumen de PostgreSQL en tu estrategia de backup general. Con un pg_dump programado en cron tienes copia diaria de todo.

1
2
# Backup manual de la base de datos
docker exec n8n-postgres pg_dump -U n8n n8n > backup-n8n-$(date +%Y%m%d).sql

Si ya tienes Proxmox Backup Server o un backup 3-2-1, asegúrate de que los volúmenes de Docker de n8n están incluidos.

Recursos de CPU y memoria
#

n8n es relativamente ligero para lo que hace. En mi servidor con workflows moderados (unos 40 activos, ejecuciones cada pocos minutos), el proceso consume habitualmente:

  • CPU: 2-5% en idle, picos de 15-20% durante ejecuciones
  • RAM: 350-500MB con PostgreSQL incluido

Con 1GB de RAM y 1 núcleo de CPU tienes suficiente para empezar. Si tienes workflows muy frecuentes o con mucho procesamiento de datos, necesitarás más. Pero en general, n8n puede correr perfectamente en cualquier nodo del homelab sin competir con servicios más exigentes.

¿Vale la pena migrar desde Zapier o Make?
#

Depende de tu situación. Si usas servicios muy específicos que n8n no soporta de forma nativa, tendrás trabajo extra para migrar. Si principalmente conectas servicios comunes, la migración es bastante directa.

Para mí el punto de inflexión fue el coste. Pagaba 20€/mes en Make para mis automatizaciones personales y de proyectos. Con n8n self-hosted ese coste desaparece. En un año son 240€ ahorrados, más que suficiente para justificar el tiempo que invertí en la migración (unas 6-8 horas en total).

Si ya tienes homelab y ya tienes un servidor corriendo, añadir n8n es un paso natural. El coste marginal es casi cero y el control que ganas sobre tus automatizaciones es considerable.


Si tienes dudas con la instalación o quieres compartir un workflow que hayas montado, los comentarios están abajo.