Por qué alojar tu propio motor de automatización
Las plataformas de automatización no-code/low-code como Zapier o Make cobran por ejecución e imponen cuotas que se disparan rápidamente. Al auto-alojar n8n o Node-RED en un VPS, eliminas estos límites: ejecuciones ilimitadas, datos que nunca salen de tu servidor y acceso completo a los nodos de la comunidad. n8n está orientado a integraciones de aplicaciones (CRM, bases de datos, IA, webhooks) con una lógica de flujo de trabajo visual cercana a Make. Node-RED, nacido en IBM, procesa mensajes JSON a través de un sistema de flujos orientado a eventos, perfecto para conectar sensores MQTT, transformar payloads u orquestar hardware. Ambos corren en contenedores y se gestionan desde un navegador.
Lo que ganas con el self-hosting
- Ejecuciones ilimitadas sin facturación por tarea, a diferencia de las plataformas SaaS de automatización.
- Datos y secretos (tokens API, credenciales) almacenados exclusivamente en tu VPS.
- Acceso a nodos e integraciones de la comunidad no disponibles en las ofertas cloud restringidas.
- Posibilidad de ejecutar código personalizado (JavaScript, Python) sin restricciones de sandbox.
- Integración directa con tus servicios internos a través de la red Docker privada.
- Control total de versiones y actualizaciones, sin cambios de precio impuestos.
Comparativa n8n vs Node-RED
Desplace la tabla
| Criterio | n8n | Node-RED |
|---|---|---|
| Caso de uso principal | Integración de API SaaS, flujos de trabajo empresariales | IoT, MQTT, procesamiento de flujos en tiempo real |
| Modelo de ejecución | Flujo de trabajo disparado (cron, webhook, trigger) | Flujo orientado a eventos y mensajes |
| Catálogo de integraciones | Más de 400 nodos de aplicaciones listos para usar | Biblioteca de nodos comunitarios vía el gestor de paleta |
| Código personalizado | Nodos Code integrados (JS/Python) | Nodos Function en JavaScript |
| Base de datos | SQLite por defecto, PostgreSQL recomendado | Archivos JSON en disco |
| RAM recomendada | 1 a 2 GB | 512 MB a 1 GB |
| Licencia | Sustainable Use License (fair-code) | Apache 2.0 |
| Curva de aprendizaje | Accesible, orientada a no desarrolladores | Lógica de flujo, más técnica |
Requisitos previos según la herramienta elegida
Para n8n, planifica un VPS con 2 vCPU y 2 GB de RAM, y usa PostgreSQL en vez de SQLite en cuanto superes algunos flujos de trabajo activos: SQLite bloquea la base de datos bajo carga concurrente. Reserva 5 GB de disco para la base y los binarios de ejecución. Node-RED es más austero: 1 vCPU y 1 GB de RAM son suficientes, ya que sus flujos se almacenan en simples archivos JSON. En ambos casos: Docker Compose v2, un subdominio dedicado y un proxy inverso HTTPS son obligatorios, ya que estas interfaces exponen secretos y nunca deben funcionar en HTTP sin cifrar.
Desplegar n8n (o Node-RED) en tu VPS
Aprovisionar Docker y la red
En el VPS, crea una red Docker dedicada:
docker network create automation. Aislará n8n/Node-RED de la base de datos y del proxy inverso.Iniciar PostgreSQL para n8n
En el docker-compose, añade un servicio
postgres:16con un volumen persistente y credenciales como variables de entorno. Para Node-RED, omite este paso: un volumendata:/dataes suficiente.Configurar el contenedor de la aplicación
Para n8n, usa la imagen
docker.n8n.io/n8nio/n8nconN8N_HOST,WEBHOOK_URL=https://n8n.tudominio.com/yDB_TYPE=postgresdb. Para Node-RED, la imagennodered/node-red:latestexpuesta en el puerto1880es suficiente.Iniciar y verificar
Ejecuta
docker compose up -d. n8n escucha en5678, Node-RED en1880. Comprueba los logs condocker compose logs -fy confirma la conexión con la base de datos para n8n.Asegurar detrás de un proxy inverso
Enruta el tráfico a través de Caddy o Traefik con un certificado Let's Encrypt automático. Activa la autenticación:
N8N_BASIC_AUTH_ACTIVE=truepara n8n, y la directivaadminAuthensettings.jspara Node-RED. Sin esto, el editor es accesible públicamente.Configurar las copias de seguridad
Programa un
pg_dumpdiario para la base de datos de n8n, o una instantánea simple del volumen/datapara Node-RED, depositada en almacenamiento externo víacron.
Para n8n en producción, activa el modo queue con Redis y contenedores worker separados: el proceso principal solo orquesta mientras los workers ejecutan los nodos en paralelo. Esto absorbe picos de webhooks sin bloquear el editor. Para Node-RED, aísla los nodos Function en un contexto VM con functionGlobalContext restringido para evitar que un flujo mal escrito deje caer todo el runtime.
n8n vs Node-RED: diferencias de licencia y modelo de negocio
La diferencia de licencia es el primer criterio a evaluar antes de cualquier despliegue empresarial. Node-RED se publica bajo la licencia Apache 2.0: puedes usarlo, modificarlo e integrarlo en un producto comercial sin restricciones ni regalías. n8n usa la Sustainable Use License (también llamada fair-code): el uso personal y los proyectos internos son gratuitos, pero si integras n8n en un producto o servicio que comercializas, o lo ofreces a terceros como servicio gestionado, se requiere una licencia Enterprise de pago. Node-RED no tiene ambigüedad: Apache 2.0 cubre todos los usos, incluido el comercial, sin cláusulas restrictivas. Esta elección de licencia refleja el modelo de negocio de cada proyecto: n8n es una empresa comercial que monetiza su versión cloud y sus licencias Enterprise; Node-RED es un proyecto de la OpenJS Foundation, sin entidad comercial detrás, mantenido por la comunidad e IBM.
Recursos de servidor comparados
Desplace la tabla
| Recurso | n8n | Node-RED |
|---|---|---|
| vCPU recomendado | 2 vCPU (mínimo viable: 1) | 1 vCPU (funciona en Raspberry Pi) |
| RAM recomendada | 2 GB (1 GB posible para uso pequeño) | 512 MB a 1 GB |
| Disco (aplicación) | ~500 MB imagen + 2-5 GB PostgreSQL | ~300 MB imagen + pocos MB JSON |
| Base de datos | PostgreSQL (prod) o SQLite (dev) | Archivos JSON en volumen |
| Redis (opcional) | Requerido para modo queue multi-worker | No necesario |
| Uso edge/embebido | No adecuado (demasiado pesado) | Sí — Raspberry Pi, ESP32 vía MQTT |
Casos de uso: n8n para integraciones SaaS, Node-RED para IoT/edge
El posicionamiento de cada herramienta refleja su arquitectura interna. n8n brilla en las integraciones SaaS: sincronización Slack ↔ Notion, envío de datos Stripe a un CRM, activación de flujos de trabajo GitHub desde un webhook, enriquecimiento de leads vía una API de IA, u orquestación de pipelines de datos entre Airtable y PostgreSQL. Incorpora más de 400 nodos con autenticación OAuth gestionada, sub-flujos de trabajo reutilizables e historial de ejecuciones navegable. Node-RED está diseñado para el procesamiento de flujos de bajo nivel y el IoT: conexión a brokers MQTT para recibir datos de sensores, transformación de payloads para alimentar una base de datos de series temporales como InfluxDB, automatización del hogar vía Home Assistant, o enrutamiento de eventos de hardware en tiempo real. Ambas herramientas pueden coexistir: Node-RED recoge y normaliza los datos hardware, n8n los consume vía webhook para disparar acciones SaaS.
Migrar de Node-RED a n8n (o viceversa)
Exportar los flujos existentes
En Node-RED, exporta los flujos desde el menú hamburguesa → Export → Clipboard (formato JSON). Para n8n, usa Settings → Export → Download all workflows.
Identificar nodos equivalentes
Haz una lista de los nodos utilizados y busca su equivalente en la otra herramienta. Los nodos MQTT de Node-RED corresponden a los nodos MQTT de n8n; los nodos HTTP Request están presentes en ambos lados. Los nodos especializados (InfluxDB, OPC-UA) no siempre tienen un equivalente directo en n8n.
Recrear manualmente en staging
No existe un conversor automático entre los dos formatos. Recrea los flujos de trabajo manualmente en un entorno de staging aislado. Empieza por los flujos más simples para validar la lógica antes de los críticos.
Validar los webhooks y triggers
Los webhooks de n8n usan el formato de URL
/webhook/<uuid>diferente al de Node-RED (/endpoint). Actualiza todos los sistemas que llaman a estas URLs. Para los triggers MQTT, verifica que el client ID y los topics se trasladen de forma idéntica.Cambiar el tráfico y monitorizar
Una vez validado en staging, cambia los webhooks fuente uno a uno hacia la nueva herramienta. Mantén el antiguo activo en paralelo unos días para comparar los volúmenes de ejecución. Desmonta el entorno antiguo solo después de confirmar la paridad.
Cuándo elegir Node-RED en lugar de n8n
- Tu proyecto involucra hardware conectado: sensores MQTT, GPIO, protocolos industriales (OPC-UA, Modbus) — Node-RED está diseñado para eso.
- Necesitas una licencia 100% de código abierto sin cláusula de uso comercial: Apache 2.0 no tiene restricciones.
- Tus recursos son limitados: Raspberry Pi, VPS de 512 MB, o dispositivo edge — Node-RED funciona donde n8n no puede.
- Tu stack ya incluye un broker MQTT (Mosquitto, EMQX) y una base de datos de series temporales (InfluxDB): Node-RED se integra de forma nativa.
- Tu equipo es técnico y está cómodo con el modelo flujo/mensaje: Node-RED tiene una curva de aprendizaje más pronunciada pero es más flexible para flujos de bajo nivel.
- Quieres evitar la dependencia de una entidad comercial: Node-RED está gobernado por la OpenJS Foundation, sin riesgo de cambios de licencia.
Puedes desplegar tanto n8n como Node-RED en el mismo VPS usando Docker Compose, asignándoles puertos diferentes (5678 para n8n, 1880 para Node-RED) y aislándolos en redes Docker separadas. Crea una red automation-n8n para n8n + PostgreSQL + Redis, y una red automation-nodered para Node-RED + Mosquitto. El proxy inverso (Caddy o Traefik) es el único punto de contacto entre las dos subredes y el exterior. Este esquema te permite usar Node-RED para la recolección IoT y n8n para las acciones SaaS en la misma máquina, sin que los dos runtimes se comuniquen directamente entre sí — un flujo Node-RED envía sus datos vía webhook HTTP hacia n8n, manteniendo un acoplamiento laxo y simplificando la futura migración.