Instalar Node-RED
Qué cubre este artículo sobre la instalación de Node-RED
- Cómo instalar Node-RED con Docker o npm.
- Cómo realizar la configuración inicial y protegerla.
- Cómo crear tu primer flow.
- Qué extensiones (nodes) son importantes.
- Solución de problemas frecuentes.
Introducción: Instalar Node-RED explicado de forma clara
Node-RED es un editor visual de flows: conectas nodes (bloques de construcción) mediante arrastrar y soltar para crear flows. Aunque se desarrolló originalmente para IoT, Node-RED también es excelente para automatización con IA, integración con Home Assistant y procesamiento de datos.
Este artículo va dirigido a usuarios que desean instalar Node-RED. Encontrarás conceptos fundamentales en Node-RED para automatización con IA y Fundamentos de Docker.
¿Por qué necesito Node-RED?
Imagina que quieres procesar datos de sensores, reaccionar a mensajes MQTT o conectar APIs. En lugar de escribir scripts, simplemente arrastras nodes a un área de trabajo y los conectas entre sí. Node-RED es ideal para automatización controlada por eventos, especialmente en IoT y domótica.
Node-RED en pocas palabras
Node-RED es una herramienta basada en Node.js. La forma más sencilla de instalarlo es con Docker. Accedes al editor en el navegador en el puerto 1880 y construyes flows mediante arrastrar y soltar.
La idea central es: programación visual para flujos de datos.
¿Para quién es este artículo?
- Self-hosters que desean instalar Node-RED.
- Usuarios de IoT que automatizan sensores y dispositivos.
- Automatizadores que construyen flows controlados por eventos.
- Usuarios de Home Assistant que necesitan automatización compleja.
Términos importantes
- Node-RED - Editor visual de flows. Cuándo es útil: la herramienta en sí.
- Flow - Nodes conectados. Cuándo es útil: un proceso automatizado.
- Node - Bloque individual. Cuándo es útil: para disparadores, procesamiento, salida.
- Palette - Biblioteca de nodes. Cuándo es útil: para extensiones.
- Docker - Contenedor. Cuándo es útil: para la instalación.
- MQTT - Protocolo IoT. Cuándo es útil: para datos de sensores.
- Home Assistant - Domótica. Cuándo es útil: para automatización del hogar.
Instalación con Docker
Instalación básica
docker run -d \
--name nodered \
-p 1880:1880 \
-v nodered_data:/data \
--restart unless-stopped \
nodered/node-red:latest
Abre el navegador: http://localhost:1880
Con Docker Compose
version: "3.8"
services:
nodered:
image: nodered/node-red:latest
container_name: nodered
restart: unless-stopped
ports:
- "1880:1880"
environment:
- TZ=Europe/Berlin
volumes:
- nodered_data:/data
networks:
- automation
volumes:
nodered_data:
networks:
automation:
driver: bridge
docker compose up -d
Instalación con npm
# Instalar Node.js (si no lo tienes)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Instalar Node-RED
sudo npm install -g --unsafe-perm node-red
# Iniciar
node-red
Como servicio systemd
# /etc/systemd/system/nodered.service
[Unit]
Description=Node-RED
After=network.target
[Service]
Type=simple
User=nodered
ExecStart=/usr/bin/node-red
Restart=on-failure
Environment=NODE_RED_OPTIONS=-v
[Install]
WantedBy=multi-user.target
sudo systemctl enable nodered
sudo systemctl start nodered
Configuración inicial
settings.js
// /data/settings.js (Docker) o ~/.node-red/settings.js
module.exports = {
// Autenticación de administrador
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2b$08$...", // Hash bcrypt
permissions: "*"
}]
},
// Puerto y host
uiPort: process.env.PORT || 1880,
uiHost: "0.0.0.0",
// HTTPS (para producción)
// https: {
// key: require("fs").readFileSync("/data/privkey.pem"),
// cert: require("fs").readFileSync("/data/fullchain.pem")
// },
// Context Storage
contextStorage: {
default: { module: "localfilesystem" }
},
// Logging
logging: {
console: {
level: "info",
metrics: false,
audit: false
}
}
};
Generar hash de contraseña
# En el contenedor de Node-RED
docker exec -it nodered npx node-red admin hash-pw
# O localmente
npx node-red admin hash-pw
Tu primer flow
Hola Mundo
- Arrastra un Inject Node al área de trabajo.
- Arrastra un Debug Node junto a él.
- Conéctalos (haz clic en la salida y arrastra hacia la entrada).
- Haz clic en “Deploy”.
- Haz clic en el botón Inject. El panel Debug mostrará la salida.
Endpoint HTTP
[HTTP In] → [Function] → [HTTP Response]
HTTP In: GET /api/hello
Function: msg.payload = { message: "Hola desde Node-RED" }; return msg;
HTTP Response: 200
Prueba con: curl http://localhost:1880/api/hello
Instalar nodes importantes
Palette Manager
- Menú > “Manage palette”
- Pestaña “Install”
- Busca e instala
Nodes recomendados
| Node | Propósito |
|---|---|
| node-red-dashboard | Dashboards de UI |
| node-red-contrib-home-assistant-websocket | Home Assistant |
| node-red-contrib-mqtt-broker | Servidor MQTT |
| node-red-node-email | Correo electrónico |
| node-red-contrib-influxdb | InfluxDB |
| node-red-contrib-postgres | PostgreSQL |
| node-red-contrib-ollama | Integración con Ollama |
# Instalar vía npm
cd /data
npm install node-red-dashboard node-red-contrib-home-assistant-websocket
Ollama en Node-RED
// Function Node: Llamar a Ollama
const response = await fetch("http://ollama:11434/api/chat", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "llama3.1",
messages: [
{ role: "user", content: msg.payload }
],
stream: false
})
});
const data = await response.json();
msg.payload = data.message.content;
return msg;
O utiliza el node node-red-contrib-ollama para una integración más sencilla. Consulta Integración de IA en Node-RED.
Conectar con Home Assistant
[events: state] → [switch] → [call service]
events: state:
Entity: sensor.temperature
If state: > 25
call service:
Domain: climate
Service: set_temperature
Data: {"temperature": 21}
Consulta Node-RED con Home Assistant.
Notas de seguridad
- Activar Admin-Auth: De lo contrario, cualquiera puede modificar los flows.
- HTTPS: Para acceso externo, usa TLS. Consulta Certificados TLS.
- No expongas: No publiques Node-RED en internet sin autenticación.
- Firewall: Limita el puerto 1880 solo a red interna o detrás de un reverse proxy.
- Backup: Realiza copias de seguridad del directorio
/data(contiene flows y configuración). Consulta Backup.
Solución de problemas
Node-RED no inicia
# Revisar logs
docker logs nodered
# Causas frecuentes:
# - Puerto 1880 ocupado
# - settings.js corrupto
# - Versión de Node.js muy antigua
Faltan nodes después de reiniciar
# Instalar nodes de forma persistente
# En settings.js:
# externalModules: { autoInstall: true }
# O en Docker:
docker exec -it nodered npm install node-red-dashboard
Flows desaparecen después de actualizar
# Los flows están en el volumen /data/flows.json
# Sin volumen montado: los flows se pierden
# Siempre montar volumen: -v nodered_data:/data
Tramapas comunes
- Sin autenticación: por defecto Node-RED está abierto. Configura siempre adminAuth.
- Sin volumen: los flows desaparecen al reiniciar el contenedor.
- Versión incorrecta de Node: Node-RED requiere Node.js 18+.
- Red en Docker:
localhosten un flow hace referencia al contenedor, no al host. - Demasiadas nodes: cada extensión amplía la superficie de ataque. Instala solo las necesarias.
Enlaces relacionados
- Node-RED para automatización con IA - Node-RED en detalle.
- Integración de IA en Node-RED - IA en Node-RED.
- Node-RED y Home Assistant - Integración con Home Assistant.
- Instalar n8n - Alternativa a Node-RED.
- Conceptos básicos de Docker - Entender Docker.
- Automatización de flujos de trabajo - Fundamentos.
Puntos clave:
- Node-RED es un editor visual de flujos, ideal para IoT y automatización basada en eventos.
- Instalación con Docker (recomendado) o npm.
- Para producción, adminAuth y HTTPS son obligatorios.
- Amplía funcionalidades con el Palette Manager o npm.
- Monta volúmenes, o tus flows se perderán.
Preguntas frecuentes
¿Qué es Node-RED?
¿Cómo instalo Node-RED?
¿En qué puerto se ejecuta Node-RED?
¿Node-RED o n8n?
¿Cómo aseguro Node-RED?
¿Qué extensiones necesito?
¿Cómo conecto Node-RED con Home Assistant?
¿Cómo hago copia de seguridad de mis flows?
¿Puedo usar Ollama en Node-RED?
Fuentes y referencias
- Node-RED - Sitio web oficial.
- Node-RED Docker - Instalación con Docker.
- Node-RED Library - Biblioteca de nodes y flujos.
- Node.js - Entorno de ejecución Node.js.


