Node-RED installieren
Was dieser Artikel über die Node-RED-Installation behandelt
- Wie Du Node-RED mit Docker oder npm installierst.
- Wie Du die Grundkonfiguration vornimmst und absicherst.
- Wie Du Deinen ersten Flow erstellst.
- Welche Erweiterungen (Nodes) wichtig sind.
- Troubleshooting für häufige Probleme.
Einleitung: Node-RED installieren verständlich erklärt
Node-RED ist ein visueller Flow-Editor: Du verbindest Nodes (Bausteine) per Drag-and-Drop zu Flows. Ursprünglich für IoT entwickelt, eignet sich Node-RED auch hervorragend für KI-Automatisierung, Home-Assistant-Integration und Datenverarbeitung.
Dieser Artikel richtet sich an Anwender, die Node-RED installieren wollen. Grundlagen findest Du in Node-RED für KI-Automatisierung und Docker Grundlagen.
Warum brauche ich Node-RED?
Stell Dir vor, Du willst Sensordaten verarbeiten, auf MQTT-Nachrichten reagieren oder APIs verbinden. Statt Skripte zu schreiben, ziehst Du Nodes auf eine Arbeitsfläche und verbindest sie. Node-RED ist ideal für Event-getriebene Automatisierung, besonders im IoT- und Smart-Home-Bereich.
Node-RED installieren kurz erklärt
Node-RED ist ein Node.js-basiertes Tool. Am einfachsten installierst Du es mit Docker. Im Browser öffnest Du den Editor auf Port 1880 und baust Flows per Drag-and-Drop.
Der Kerngedanke lautet: Visuelle Programmierung für Datenflüsse.
Für wen ist dieser Artikel gedacht?
- Self-Hoster, die Node-RED installieren wollen.
- IoT-Nutzer, die Sensoren und Geräte automatisieren.
- Automatisierer, die Event-getriebene Flows bauen.
- Home-Assistant-Nutzer, die komplexe Automatisierung brauchen.
Wichtige Begriffe
- Node-RED - Visueller Flow-Editor. Wann nützlich: das Tool selbst.
- Flow - Verbundene Nodes. Wann nützlich: ein automatisierter Prozess.
- Node - Einzelner Baustein. Wann nützlich: für Trigger, Verarbeitung, Ausgabe.
- Palette - Node-Bibliothek. Wann nützlich: für Erweiterungen.
- Docker - Container. Wann nützlich: für Installation.
- MQTT - IoT-Protokoll. Wann nützlich: für Sensordaten.
- Home Assistant - Smart Home. Wann nützlich: für Hausautomatisierung.
Installation mit Docker
Basis-Installation
docker run -d \
--name nodered \
-p 1880:1880 \
-v nodered_data:/data \
--restart unless-stopped \
nodered/node-red:latest
Browser öffnen: http://localhost:1880
Mit 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
Installation mit npm
# Node.js installieren (falls nicht vorhanden)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Node-RED installieren
sudo npm install -g --unsafe-perm node-red
# Starten
node-red
Als systemd-Service
# /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
Grundkonfiguration
settings.js
// /data/settings.js (Docker) oder ~/.node-red/settings.js
module.exports = {
// Admin-Authentifizierung
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2b$08$...", // bcrypt-Hash
permissions: "*"
}]
},
// Port und Host
uiPort: process.env.PORT || 1880,
uiHost: "0.0.0.0",
// HTTPS (für Produktion)
// 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
}
}
};
Passwort-Hash generieren
# Im Node-RED-Container
docker exec -it nodered npx node-red admin hash-pw
# Oder lokal
npx node-red admin hash-pw
Erster Flow
Hallo Welt
- Inject Node auf die Arbeitsfläche ziehen.
- Debug Node daneben ziehen.
- Beide verbinden (Klick auf Ausgang → Ziehen zum Eingang).
- Auf „Deploy” klicken.
- Inject-Button klicken → Debug-Panel zeigt Ausgabe.
HTTP-Endpoint
[HTTP In] → [Function] → [HTTP Response]
HTTP In: GET /api/hello
Function: msg.payload = { message: "Hallo von Node-RED" }; return msg;
HTTP Response: 200
Testen: curl http://localhost:1880/api/hello
Wichtige Nodes installieren
Palette Manager
- Menu → „Manage palette”
- Tab „Install”
- Suchen und installieren
Empfohlene Nodes
| Node | Zweck |
|---|---|
| node-red-dashboard | UI-Dashboards |
| node-red-contrib-home-assistant-websocket | Home Assistant |
| node-red-contrib-mqtt-broker | MQTT-Server |
| node-red-node-email | |
| node-red-contrib-influxdb | InfluxDB |
| node-red-contrib-postgres | PostgreSQL |
| node-red-contrib-ollama | Ollama-Integration |
# Via npm installieren
cd /data
npm install node-red-dashboard node-red-contrib-home-assistant-websocket
Ollama in Node-RED
// Function Node: Ollama aufrufen
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;
Oder nutze den node-red-contrib-ollama Node für eine einfachere Integration. Siehe Node-RED KI-Integration.
Mit Home Assistant verbinden
[events: state] → [switch] → [call service]
events: state:
Entity: sensor.temperature
If state: > 25
call service:
Domain: climate
Service: set_temperature
Data: {"temperature": 21}
Siehe Node-RED Home Assistant.
Sicherheitshinweise
- Admin-Auth aktivieren: Sonst kann jeder Flows ändern.
- HTTPS: Für externen Zugriff TLS nutzen. Siehe TLS-Zertifikate.
- Nicht exponieren: Node-RED nicht ohne Authentifizierung ins Internet.
- Firewall: Port 1880 nur intern oder hinter Reverse Proxy.
- Backup:
/data-Verzeichnis sichern (enthält Flows und Settings). Siehe Backup.
Troubleshooting
Node-RED startet nicht
# Logs prüfen
docker logs nodered
# Häufige Ursachen:
# - Port 1880 belegt
# - settings.js fehlerhaft
# - Node.js-Version zu alt
Nodes fehlen nach Neustart
# Nodes persistent installieren
# In settings.js:
# externalModules: { autoInstall: true }
# Oder in Docker:
docker exec -it nodered npm install node-red-dashboard
Flows weg nach Update
# Flows sind im Volume /data/flows.json
# Wenn Volume nicht gemountet: Flows gehen verloren
# Immer Volume mounten: -v nodered_data:/data
Typische Stolpersteine
- Keine Authentifizierung: Standardmäßig ist Node-RED offen. Immer adminAuth setzen.
- Kein Volume: Ohne Volume gehen Flows bei Container-Neustart verloren.
- Falsche Node-Version: Node-RED braucht Node.js 18+.
- Netzwerk in Docker:
localhostin einem Flow referenziert den Container, nicht den Host. - Zu viele Nodes: Jede Erweiterung vergrößert die Angriffsfläche. Nur nötige installieren.
Weiterführende Links
- Node-RED für KI-Automatisierung - Node-RED im Detail.
- Node-RED KI-Integration - KI in Node-RED.
- Node-RED Home Assistant - Home-Assistant-Anbindung.
- n8n installieren - Alternative zu Node-RED.
- Docker Grundlagen - Docker verstehen.
- Workflow-Automatisierung - Grundlagen.
Key Takeaways:
- Node-RED ist ein visueller Flow-Editor, ideal für IoT und Event-Automatisierung.
- Installation mit Docker (empfohlen) oder npm.
- Admin-Auth und HTTPS für Produktion Pflicht.
- Erweiterungen über Palette Manager oder npm.
- Volumen mounten, sonst gehen Flows verloren.
FAQ
Was ist Node-RED?
Wie installiere ich Node-RED?
Auf welchem Port läuft Node-RED?
Node-RED oder n8n?
Wie sichere ich Node-RED ab?
Welche Erweiterungen brauche ich?
Wie verbinde ich Node-RED mit Home Assistant?
Wie sichere ich meine Flows?
Kann ich Ollama in Node-RED nutzen?
Quellen und weiterführende Literatur
- Node-RED - Offizielle Website.
- Node-RED Docker - Docker-Installation.
- Node-RED Library - Node- und Flow-Bibliothek.
- Node.js - Node.js Runtime.


