Node-RED 5 auf dem Synology NAS installieren: Automatisierung per Flow-Editor
Node-RED 5.0.8 macht Ihr Synology NAS zur visuellen Automatisierungs-Zentrale für MQTT, Home Assistant und APIs. Die Anleitung zeigt das Compose-Deployment mit UID-1000-Rechten, credentialSecret, adminAuth, Verifizieren nach jedem Schritt und die Migration von Node-RED 4.
Geprüft am 11.10.2026 · für node-red 5.0.8
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Node-RED ist ein browserbasierter Flow-Editor, der IoT-Geräte, MQTT-Broker, HTTP-APIs und Skripte miteinander verbindet. Sie ziehen Nodes auf eine Arbeitsfläche, verdrahten sie per Linie und klicken auf „Deploy“, danach läuft der Flow. Als Container auf dem Synology NAS steht Node-RED dauerhaft für Smart-Home-Automatisierung bereit. Version 5.0 (Juni 2026) bringt einen überarbeiteten Editor, Dark Theme und gehärtete Anmeldung; die Anleitung nutzt 5.0.8.
Voraussetzungen
- Synology NAS mit DSM 7.2 oder höher, Container Manager installiert, 64-Bit-CPU (x86_64 oder arm64); für 32-Bit-ARM (arm/v7) gibt es keine Node-RED-5-Images mehr
- SSH-Zugang zum NAS (für
chownundsettings.js; SSH auf dem Synology NAS aktivieren) - Freier TCP-Port 1880 auf dem NAS
- Etwa 500 MB freier Speicher und mindestens 512 MB freier RAM (Image und Datenverzeichnis)
- Optional: Mosquitto-Container für MQTT-Tests (Mosquitto auf dem Synology NAS) und Home Assistant (Home Assistant mit Docker: die lokale Smart-Home-Zentrale)
Eckdaten auf einen Blick
| Parameter | Wert | Hinweis |
|---|---|---|
| Image | nodered/node-red:5.0.8 | Stand Oktober 2026, Node.js 24; fester Tag statt latest |
| Port | 1880:1880 | Editor und Admin-API; HTTPS über Reverse Proxy |
| Volume | /volume1/docker/nodered:/data | Flows, Settings, installierte Nodes |
| User | 1000:1000 | Das Host-Verzeichnis muss UID 1000 gehören |
| TZ | Europe/Berlin | Zeitstempel und Zeitpläne |
| Credential Secret | Langer, zufälliger String | Schlüssel für gespeicherte Passwörter |
Schritt 1: Ordner anlegen und Rechte setzen
Legen Sie in der File Station den Ordner nodered unter /volume1/docker/ an (Kleinbuchstaben, keine Sonderzeichen). Die File Station kann keine UID-basierten Eigentümer setzen, daher verbinden Sie sich per SSH mit dem NAS (Anleitung zu SSH auf dem Synology NAS) und setzen den Eigentümer auf UID/GID 1000:
sudo chown -R 1000:1000 /volume1/docker/nodered
Node-RED läuft als UID 1000 und schreibt beim ersten Start nach /data; bei falschem Eigentümer bricht der Container mit Permission denied ab.
Verifizieren: Prüfen Sie den Eigentümer:
ls -la /volume1/docker/ | grep nodered
Die Ausgabe zeigt 1000 1000 als Eigentümer und Gruppe:
drwxr-xr-x 2 1000 1000 ... nodered
Schritt 2: Compose-Datei erstellen
Öffnen Sie im Container Manager „Projekt“ und „Erstellen“, vergeben Sie den Projektnamen node-red und fügen Sie diese compose.yaml ein (Grundlagen: Container Manager Projekt anlegen):
services:
node-red:
image: nodered/node-red:5.0.8
container_name: node-red
restart: unless-stopped
ports:
- "1880:1880"
volumes:
- /volume1/docker/nodered:/data
environment:
- TZ=Europe/Berlin
- NODE_RED_CREDENTIAL_SECRET=IHR-GEHEIMES-PASSWORT-HIER-AENDERN
user: "1000:1000"
Ersetzen Sie IHR-GEHEIMES-PASSWORT-HIER-AENDERN durch einen zufälligen String mit etwa 32 Zeichen und notieren Sie ihn sicher. Er verschlüsselt gespeicherte Credentials wie MQTT-Passwörter; ändern Sie ihn später, sind sie unlesbar. Die Variable wirkt erst, wenn die settings.js sie auswertet (Schritt 4). user: "1000:1000" stellt sicher, dass der Prozess als UID 1000 läuft, und ergänzt das chown aus Schritt 1.
Verifizieren: Starten Sie das Projekt. Im Container Manager zeigt node-red unter „Container“ den Status „Wird ausgeführt“. Alternativ per SSH:
sudo docker ps --filter name=node-red --format "table {{.Names}}\t{{.Status}}"
NAMES STATUS
node-red Up X seconds
Schritt 3: Firewall-Regel für Port 1880 anlegen
Ist die DSM-Firewall aktiv, blockiert sie Port 1880, solange keine Regel ihn erlaubt. Öffnen Sie DSM > Systemsteuerung > Sicherheit > Firewall und legen Sie eine Regel an: Protokoll TCP, Quell-IP Ihr lokales Subnetz (z. B. 192.168.1.0/24), Ziel-Port 1880, Aktion „Erlauben“ (Anleitung zur DSM-Firewall).
Verifizieren: Rufen Sie http://<NAS-IP>:1880 im Browser auf. Der Flow-Editor lädt mit der Node-Palette links. Bei einer Zeitüberschreitung ist die Firewall-Regel nicht aktiv oder der Container läuft nicht.
Schritt 4: Editor mit adminAuth absichern
Ohne adminAuth kann jeder im Netzwerk Flows lesen, ändern und deployen. adminAuth und credentialSecret stehen in der settings.js, die Node-RED beim ersten Start in /data anlegt; eine Umgebungsvariable allein reicht nicht.
Passwort-Hash erzeugen: Führen Sie im laufenden Container aus:
sudo docker exec -it node-red node-red admin hash-pw
Nach der Passwort-Eingabe erscheint ein bcrypt-Hash (Beginn $2y$08$):
Password: $2y$08$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Kopieren Sie den Hash ohne Password:. Ein Klartext-Passwort in der settings.js funktioniert nicht.
settings.js bearbeiten:
sudo nano /volume1/docker/nodered/settings.js
Ersetzen Sie die auskommentierte Zeile //credentialSecret: "a-secret-key", (etwa Zeile 44) und den auskommentierten adminAuth-Block (etwa Zeile 78 bis 85) durch:
credentialSecret: process.env.NODE_RED_CREDENTIAL_SECRET,
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2y$08$IHREN-HASH-HIER-EINFUEGEN",
permissions: "*"
}]
},
Speichern Sie (Strg+O, Enter, Strg+X) und starten Sie den Container neu, denn Node-RED liest die settings.js nur beim Start:
sudo docker restart node-red
Bereits gespeicherte Credentials verschlüsselt Node-RED beim nächsten Deploy mit Ihrem Schlüssel neu.
Verifizieren: Beim Aufruf von http://<NAS-IP>:1880 erscheint ein Login-Dialog. Mit admin und Ihrem Passwort öffnet sich der Editor, ein falsches Passwort wird abgelehnt. Im Log (sudo docker logs node-red) fehlt die Warnung „system-generated key“.
Schritt 5: Ersten Flow erstellen und deployen
Ziehen Sie aus der Palette (Kategorie „common“) einen Inject-Node und einen Debug-Node auf die Arbeitsfläche und verbinden Sie den Ausgang des Inject-Nodes mit dem Eingang des Debug-Nodes. Klicken Sie oben rechts auf Deploy; nicht deployte Änderungen laufen nicht und zeigen keinen Fehler.
Öffnen Sie die Debug-Ansicht (Käfer-Symbol in der Seitenleiste) und klicken Sie auf die Schaltfläche links am Inject-Node. Seit Version 5 können Sie die Debug-Ausgabe per Schalter im Kopf der Ansicht anhalten.
Verifizieren: Die Debug-Ansicht zeigt einen Eintrag mit aktuellem Zeitstempel:
node: debug 1
msg.payload : number
(Zeitstempel in Millisekunden)
Prüfen Sie außerdem, ob die Flows gespeichert wurden:
ls -la /volume1/docker/nodered/flows.json
Die Datei existiert und hat einen aktuellen Zeitstempel.
Schritt 6: MQTT-Node verbinden (optional, aber empfohlen)
Läuft Mosquitto bereits (Eclipse Mosquitto auf dem Synology NAS installieren), können Sie MQTT testen. Der mqtt in-Node gehört zum Standard-Image. Ziehen Sie ihn auf die Arbeitsfläche, legen Sie per Doppelklick einen neuen Server an und tragen Sie als Host nicht localhost ein, sondern den Container-Namen des Brokers (z. B. mosquitto, beide Container im selben Docker-Netzwerk) oder die NAS-IP. Port 1883, Topic test/#. Verbinden Sie ihn mit einem Debug-Node und deployen Sie.
Senden Sie eine Test-Nachricht:
sudo docker exec mosquitto mosquitto_pub -t test/hello -m "Hallo Node-RED"
Verifizieren: Die Debug-Ansicht zeigt „Hallo Node-RED“, der Node den Status „connected“. Bei „disconnected“ stimmen Hostname oder Netzwerkpfad nicht.
Schritt 7: Community-Nodes aus der Palette installieren
Den Palette Manager öffnen Sie über das Hauptmenü oben rechts, „Manage palette“, Reiter „Install“. Geeignete Pakete sind @flowfuse/node-red-dashboard (Dashboard 2.0) für ein lokales Web-Dashboard und node-red-contrib-home-assistant-websocket für Home Assistant. Das ältere node-red-dashboard ist laut npm nicht mehr gepflegt. Die Nodes landen in /volume1/docker/nodered/node_modules und bleiben über Neustarts erhalten.
Verifizieren: Der neue Node erscheint in der Palette (ggf. Browser-Tab neu laden). Prüfen Sie per SSH:
ls /volume1/docker/nodered/node_modules/@flowfuse/
Ausgabe: node-red-dashboard (andere Pakete liegen direkt unter node_modules).
Bestandsinstallation von Node-RED 4 auf 5 aktualisieren
Der Wechsel von 4.x auf 5.0.8 ist ein Tausch des Image-Tags. Flows, settings.js, Credentials und Nodes liegen im gemounteten Verzeichnis und bleiben erhalten. 5.0 ist aber ein Major-Release mit Brüchen:
- Node.js 22.9 oder neuer: Die offiziellen Images bringen Node.js 24 mit. Selbst gebaute Images auf Node.js 18 oder 20 müssen Sie umstellen.
- Kein 32-Bit-ARM mehr: Images gibt es nur für amd64 und arm64. Ältere 32-Bit-ARM-Modelle bleiben bei 4.1, z. B.
nodered/node-red:4.1.16-22. - Community-Nodes: Pakete, die Node.js unter 22 voraussetzen oder native Module mitbringen, laden eventuell nicht mehr. Prüfen Sie das Start-Log.
- Gehärtete Anmeldung: Die Standard-CORS-Regeln der Admin-API entfallen, OAuth-Logins nutzen ein Token-Austauschverfahren.
adminAuthmit Passwort-Hash funktioniert unverändert. Greifen eigene Browser-Skripte von einer anderen Adresse auf die Admin-API zu, geben Sie CORS insettings.jsselbst frei.
- Sichern Sie
/volume1/docker/nodered(Hyper Backup oder File Station) und exportieren Sie die Flows über das Hauptmenü. - Lassen Sie
NODE_RED_CREDENTIAL_SECRETunverändert. - Stoppen Sie das Projekt
node-red, ändern Sie in dercompose.yamlden Tag auf5.0.8und speichern Sie. - Starten Sie das Projekt. Der Container Manager lädt das neue Image und erstellt den Container neu.
Zurück auf 4.1 kommen Sie mit dem alten Tag und der gesicherten Kopie des Verzeichnisses; das laufende Verzeichnis ist nach Änderungen unter Version 5 dafür nicht geeignet.
Verifizieren: Prüfen Sie die Startmeldungen:
sudo docker logs node-red 2>&1 | grep -E "Node-RED version|Node.js version|Started flows"
Erwartet werden Node-RED version: v5.0.8, Node.js 24 und Started flows. Alle Flows sind vorhanden, Nodes mit Zugangsdaten verbinden sich ohne neue Eingabe.
Troubleshooting / Typische Fehler
- Container startet nicht, Logs zeigen „Permission denied“: Das Verzeichnis
/volume1/docker/noderedgehört nicht UID 1000. Führen Siesudo chown -R 1000:1000 /volume1/docker/noderedaus und starten Sie den Container neu. - Credentials nach Neustart unlesbar, Nodes zeigen roten Fehler: Der Credential-Secret fehlte beim ersten Deploy oder die
settings.jswertetNODE_RED_CREDENTIAL_SECRETnicht aus (credentialSecret-Zeile aus Schritt 4). Node-RED hat dann einen zufälligen Schlüssel verwendet. Tragen Sie Secret und Zeile ein, starten Sie neu und geben Sie die Credentials erneut ein. - Editor lädt ohne Login-Dialog:
adminAuthist nicht aktiv (auskommentiert oder Container nicht neu gestartet). - Passwort wird abgelehnt: In
settings.jssteht Klartext statt Hash. Erzeugen Sie den Hash mitsudo docker exec -it node-red node-red admin hash-pwneu. - MQTT-Node bleibt „disconnected“: Der Host zeigt auf
localhoststatt auf den Container-Namen des Brokers. - Editor nicht erreichbar (Browser-Timeout): Die DSM-Firewall blockiert Port 1880 (Systemsteuerung > Sicherheit > Firewall).
- Palette-Installation schlägt fehl (EACCES):
user: "1000:1000"fehlt oder das Volume hat noch Root-Eigentümer. Korrigieren Sie beides und starten Sie neu. - settings.js-Änderungen ohne Wirkung: Node-RED liest die Datei nur beim Start. Ein Deploy genügt nicht:
sudo docker restart node-red. - latest-Tag führt zu unerwartetem Major-Update:
latestfolgt der neuesten Hauptversion, Community-Nodes können dabei brechen. Verwenden Sie einen festen Tag wie5.0.8. - Start auf älterem ARM-NAS scheitert („exec format error“ oder „no matching manifest“): Das NAS hat eine 32-Bit-ARM-CPU. Verwenden Sie dort
nodered/node-red:4.1.16-22. - Community-Nodes fehlen nach dem Update auf 5.x: Das Start-Log nennt die Pakete. Aktualisieren Sie sie im Palette Manager oder ersetzen Sie nicht mehr gepflegte (z. B.
node-red-dashboarddurch@flowfuse/node-red-dashboard).
Häufige Fragen
Was ist der Unterschied zwischen Node-RED und n8n?
Node-RED ist auf IoT und Echtzeit-Datenströme (MQTT, Sensoren, Smart-Home-Protokolle) ausgelegt, n8n auf Business-Prozesse und API-Integrationen (CRM, Tickets, Webhooks). Node-RED kann etwa einen MQTT-Alarm per HTTP-Request an n8n weiterleiten, das ein Ticket anlegt.
Wie sichere ich meine Flows?
Sichern Sie das Verzeichnis /volume1/docker/nodered (flows.json, settings.js, flows_cred.json) per Hyper Backup oder rsync auf ein externes Medium. Flows lassen sich zusätzlich im Editor exportieren (Hauptmenü, „Export“); der Export enthält keine Credentials aus flows_cred.json.
Wie aktiviere ich HTTPS für den Node-RED Editor?
Im Standard-Setup läuft Node-RED ohne HTTPS. Richten Sie den Synology Reverse Proxy ein (DSM > Systemsteuerung > Anmeldeportal > Erweitert > Reverse Proxy, Quelle HTTPS, Ziel http://localhost:1880) oder schalten Sie den Nginx Proxy Manager auf der Synology vor.
Welche Version soll ich verwenden: 4.1 oder 5.0?
Auf einem NAS mit x86_64- oder arm64-CPU nehmen Sie 5.0.8. Für Modelle mit 32-Bit-ARM-CPU bleibt nur die 4.1-Reihe, die weiter Patches erhält (z. B. 4.1.16-22). Verwenden Sie immer einen festen Tag, nie latest.
Kann ich Node-RED mit Home Assistant, Mosquitto und n8n gleichzeitig betreiben?
Ja. Mosquitto liefert den MQTT-Transport, Node-RED verknüpft Sensordaten, Home-Assistant-Ereignisse und APIs, n8n übernimmt Business-Logik. Container im selben Netzwerk erreichen sich über ihre Namen.
Fazit
Node-RED 5 ist auf dem Synology NAS in rund 25 Minuten einsatzbereit, wenn drei Punkte stimmen: Volume-Eigentümer UID 1000, NODE_RED_CREDENTIAL_SECRET samt credentialSecret-Zeile in der settings.js vor dem ersten Deploy und aktivierte adminAuth. Dann steht eine abgesicherte Flow-Plattform bereit.
Weiterführende Anleitungen und Quellen
- Eclipse Mosquitto auf dem Synology NAS installieren: MQTT-Broker für das Smart Home: der natürliche Companion zu Node-RED im IoT-Cluster
- Home Assistant mit Docker: die lokale Smart-Home-Zentrale: Node-RED und Home Assistant ergänzen sich ideal
- n8n mit Docker: KI-Workflows und Automatisierung self-hosted: Abgrenzung: Business-Automatisierung vs. IoT-Datenströme
- Container Manager: Docker-Compose-Projekt anlegen, starten, aktualisieren: Grundlagen zum Compose-Workflow auf DSM
- DSM-Firewall: Ports für Docker-Container freigeben: Firewall-Regeln korrekt anlegen
Offizielle Quellen: Node-RED Docker-Dokumentation | Node-RED Sicherheits-Dokumentation (adminAuth) | Docker Hub: nodered/node-red | Node-RED-Blog: Version 5.0 released | Release Notes Node-RED 5.0.8


