Puedes instalar Node-RED en pocos minutos en casi cualquier máquina, desde un portátil con Windows hasta una Raspberry Pi en una estantería de la fábrica. Esta guía recorre cada plataforma, muestra cómo ejecutar Node-RED como servicio, protege el editor y termina con un primer flujo funcional que se suscribe a un broker MQTT real para que veas llegar mensajes de verdad.
Qué necesitas antes de empezar
Node-RED es una aplicación Node.js, así que el único requisito real es una versión de Node.js compatible. Node-RED 4.x requiere Node.js 18 o posterior, y las versiones más recientes pueden subir ese mínimo, así que usa la versión LTS actual de Node.js siempre que puedas. También necesitas:
- Una cuenta de usuario con permiso para instalar software (administrador en Windows,
sudoen Linux). - Acceso de red a npm (el registro de paquetes de Node.js) durante la instalación.
- Un navegador para abrir el editor en el puerto 1880.
| Plataforma | Método recomendado | Arranca con el sistema | Uso típico |
|---|---|---|---|
| Windows 10/11 | Instalador de Node.js + npm | Con PM2 o un wrapper de servicio | Desarrollo, PC de edge |
| Debian / Ubuntu | Script de instalación oficial | Sí (systemd) | Servidores, gateways |
| Raspberry Pi OS | Script de instalación oficial | Sí (systemd) | Gateways de edge, laboratorios caseros |
| Cualquier SO con Docker | Imagen nodered/node-red |
Sí (política de reinicio) | Despliegues reproducibles |
Instalar Node-RED en Windows
- Descarga el instalador LTS de Node.js (
.msi) desde nodejs.org y ejecútalo con las opciones por defecto. Acepta la opción que añade Node.js a tu PATH. - Abre una nueva ventana de PowerShell y comprueba las versiones:
node --version
npm --version
- Instala Node-RED de forma global:
npm install -g --unsafe-perm node-red
- Arráncalo:
node-red
El log termina con una línea como Server now running at http://127.0.0.1:1880/. Abre esa dirección en el navegador y aparecerá el editor. Tus flujos y ajustes se guardan en C:\Users\<you>\.node-red.
Para que Node-RED siga funcionando después de cerrar el terminal y arranque con el sistema, un enfoque habitual es PM2:
npm install -g pm2
pm2 start "$env:APPDATA\npm\node_modules\node-red\red.js" --name node-red
pm2 save
En Windows, PM2 necesita un ayudante adicional como pm2-installer o un wrapper de servicio de Windows para arrancar con el sistema; sigue sus instrucciones o usa el Programador de tareas para ejecutar pm2 resurrect al iniciar sesión.
Instalar Node-RED en Linux y Raspberry Pi
En Debian, Ubuntu y Raspberry Pi OS, el proyecto Node-RED ofrece un script de instalación que instala una versión adecuada de Node.js, instala Node-RED y configura un servicio systemd. Ejecútalo como usuario normal con permisos sudo, no como root:
bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/update-nodejs-and-nodered-deb)
El script hace algunas preguntas, como si quieres sustituir una instalación existente de Node.js y si quieres instalar los nodos específicos de la Pi. Cuando termine, arranca Node-RED y actívalo al inicio:
node-red-start # arranca el servicio y muestra el log
sudo systemctl enable nodered.service
Comandos útiles a partir de entonces:
node-red-stop
node-red-restart
node-red-log
Después abre en el navegador http://<device-ip>:1880. Para averiguar la dirección de la Pi, ejecuta hostname -I. El mismo script es la forma más sencilla de actualizar más adelante: vuelve a ejecutarlo y actualizará Node.js y Node-RED en su sitio. Los detalles completos y las opciones están en la documentación oficial de primeros pasos de Node-RED.
En otras distribuciones, instala Node.js LTS desde tu gestor de paquetes o NodeSource, ejecuta sudo npm install -g --unsafe-perm node-red y crea tu propia unidad systemd.
Instalar Node-RED con Docker
Si ya usas contenedores, Docker es la opción más limpia, porque las actualizaciones y las vueltas atrás son simples etiquetas de imagen:
docker volume create node_red_data
docker run -d --name nodered --restart unless-stopped \
-p 1880:1880 -v node_red_data:/data nodered/node-red:latest
El volumen /data contiene tus flujos, credenciales y nodos instalados, así que sobreviven a las actualizaciones del contenedor. Para fijar una versión, sustituye latest por una etiqueta concreta. Nuestra guía de Node-RED con Docker cubre Docker Compose, las variables de entorno y las copias de seguridad.
Protege el editor antes de exponerlo
Por defecto, el editor no tiene login. No pasa nada en 127.0.0.1, pero en una Raspberry Pi o un servidor cualquiera en la red puede abrir el puerto 1880 y ejecutar código arbitrario mediante un nodo Function o Exec. Antes de usar Node-RED en una red compartida:
- Genera un hash de contraseña:
node-red admin hash-pw
- Edita
settings.jsen tu directorio de usuario (~/.node-red/settings.js) y activaadminAuth:
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "PASTE_THE_BCRYPT_HASH_HERE",
permissions: "*"
}]
},
- Define un
credentialSecreten el mismo archivo para que las credenciales almacenadas se cifren con una clave que controlas y reinicia Node-RED.
Para HTTPS, proxies inversos y más medidas de refuerzo, consulta cómo proteger Node-RED.
Tu primer flujo MQTT después de instalar Node-RED
Ahora conecta Node-RED a un broker real. El servidor MQTT público gratuito en broker.connectmq.com acepta conexiones anónimas, así que puedes probar sin crear una cuenta. Usa un prefijo de topic único y recuerda que el área pública la puede ver todo el mundo: es para pruebas y prototipos, no para datos de producción.
En el editor, abre el menú (arriba a la derecha), elige Import, pega el JSON de abajo y haz clic en Import:
[
{
"id": "c0a1b2c3d4e5f601",
"type": "mqtt-broker",
"name": "ConnectMQ public",
"broker": "broker.connectmq.com",
"port": "1883",
"clientid": "nodered-first-4d9e",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"autoUnsubscribe": true
},
{
"id": "c0a1b2c3d4e5f602",
"type": "inject",
"name": "Send test reading",
"props": [{ "p": "payload" }, { "p": "topic", "vt": "str" }],
"repeat": "",
"once": false,
"topic": "connectmq/demo/4d9e/sensor",
"payload": "{\"temperature\":21.5}",
"payloadType": "json",
"x": 160,
"y": 80,
"wires": [["c0a1b2c3d4e5f603"]]
},
{
"id": "c0a1b2c3d4e5f603",
"type": "mqtt out",
"name": "Publish",
"topic": "",
"qos": "0",
"retain": "false",
"broker": "c0a1b2c3d4e5f601",
"x": 380,
"y": 80,
"wires": []
},
{
"id": "c0a1b2c3d4e5f604",
"type": "mqtt in",
"name": "Subscribe demo topics",
"topic": "connectmq/demo/4d9e/#",
"qos": "0",
"datatype": "auto-detect",
"broker": "c0a1b2c3d4e5f601",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 180,
"y": 160,
"wires": [["c0a1b2c3d4e5f605"]]
},
{
"id": "c0a1b2c3d4e5f605",
"type": "debug",
"name": "Show message",
"active": true,
"tosidebar": true,
"console": false,
"complete": "true",
"targetType": "full",
"x": 410,
"y": 160,
"wires": []
}
]
Sustituye 4d9e por tus propios caracteres aleatorios en el client ID y en ambos topics y haz clic en Deploy. Los nodos MQTT muestran un estado verde "connected". Pulsa el botón del nodo inject y la barra lateral de depuración mostrará el mensaje completo, con el payload ya convertido en un objeto gracias al ajuste de autodetección. También puedes publicar desde otra herramienta, por ejemplo mosquitto_pub -h broker.connectmq.com -p 1883 -i cli-4d9e -t connectmq/demo/4d9e/cli -m hello, y ver cómo llega.
A partir de aquí, el tutorial de MQTT con Node-RED trata en profundidad los topics, QoS, el manejo de JSON y los dashboards.
Solución de problemas de la instalación
node-redno se reconoce (Windows): cierra y vuelve a abrir PowerShell para cargar el PATH actualizado, o comprueba que%APPDATA%\npmestá en el PATH.- El puerto 1880 ya está en uso: hay otra instancia en marcha. Detenla o arranca con
node-red -p 1881. - El editor no es accesible desde otra máquina: revisa el firewall y confirma que Node-RED no está vinculado solo a localhost mediante
uiHostensettings.js. - Los nodos MQTT se quedan en "connecting": comprueba el acceso saliente al puerto 1883 y asegúrate de que el client ID no está vacío ni lo usa otro cliente. Nuestra guía de Node-RED MQTT no se conecta enumera más causas.
- El script de instalación falla en una Pi antigua: los modelos muy antiguos con CPU ARMv6 pueden no ser compatibles con las compilaciones actuales de Node.js; revisa la salida del instalador para obtener orientación.
Del servidor público a producción
El servidor público es perfecto para un primer flujo, pero los flujos de producción necesitan credenciales privadas y cifrado. Pasa al puerto 8883 con TLS, que es una casilla y unos pocos campos en el nodo de configuración del broker; nuestra guía de TLS en MQTT con Node-RED lo explica paso a paso. Operar el broker tú mismo implica parches, certificados y planificación de capacidad, y por eso muchos equipos combinan Node-RED con un broker MQTT gestionado. ConnectMQ da a Node-RED un broker privado con TLS en el 8883, credenciales generadas en el portal y un explorador de topics en vivo para comprobar lo que publican tus flujos. Para una visión más amplia, consulta nuestra guía de broker MQTT en la nube.
Ejecuta tus flujos de Node-RED en ConnectMQ
Regístrate en app.connectmq.com, elige el plan gratuito Serverless sin tarjeta de crédito, crea un broker y pega el usuario, la contraseña y el client ID generados en tu nodo de configuración mqtt-broker. Tu nueva instalación de Node-RED quedará conectada a un broker de ConnectMQ privado y cifrado.
Preguntas frecuentes
¿Qué versión de Node.js necesito para Node-RED?
Node-RED 4.x requiere Node.js 18 o posterior. Usa la versión LTS actual de Node.js salvo que tu plataforma tenga alguna restricción concreta.
¿Dónde guarda Node-RED mis flujos?
En el directorio de usuario, por defecto ~/.node-red en Linux y macOS y C:\Users\<you>\.node-red en Windows, o /data dentro del contenedor Docker. Haz copia de seguridad de esta carpeta, incluido flows_cred.json.
¿Cómo actualizo Node-RED?
En Debian, Ubuntu y Raspberry Pi OS, vuelve a ejecutar el script de instalación. Con npm, ejecuta npm install -g --unsafe-perm node-red. Con Docker, descarga una imagen más reciente y vuelve a crear el contenedor con el mismo volumen.
¿Puedo instalar Node-RED sin acceso a internet?
Sí, pero debes descargar previamente Node.js y los paquetes de npm en otra máquina y transferirlos, o construir una imagen Docker en otro lugar y cargarla. Conectarse más tarde a un broker en la nube requiere, por supuesto, acceso de red saliente.



