Zum Inhalt

Node-RED mit Docker installieren und absichern

Veröffentlicht am 7. August 2026 · Geschätzte Lesezeit: 4 Minuten

Mit Node-RED erstellst du Automationen als übersichtliche Abläufe aus miteinander verbundenen Bausteinen. Der Editor läuft im Browser, während der Docker-Container die Abläufe dauerhaft auf dem Server ausführt. Für Installation, Passwortschutz und einen ersten Test solltest du etwa 25 bis 35 Minuten einplanen.

Die Anleitung wurde am 3. August 2026 mit der offiziellen Docker-Anleitung und der Sicherheitsdokumentation von Node-RED geprüft. Ergänzend zeigt das deutschsprachige Video Node-RED mit Docker installieren den grundsätzlichen Ablauf.

Voraussetzungen

  • Ein Linux-Server mit installiertem Docker und Docker Compose
  • Zugriff auf das Terminal des Servers
  • Eine feste IP-Adresse oder ein lokaler DNS-Name
  • Etwa 1 GB freier Speicherplatz

1. Arbeitsordner anlegen

Erstelle im Terminal des Docker-Servers einen eigenen Datenordner für Node-RED:

mkdir -p ~/node-red/data

Das offizielle Container-Abbild verwendet für den Node-RED-Benutzer die ID 1000. Weise diesem Benutzer den Datenordner zu:

sudo chown -R 1000:1000 ~/node-red/data

Wechsle anschließend in den Arbeitsordner:

cd ~/node-red

2. Compose-Datei erstellen

Öffne eine neue Compose-Datei:

nano compose.yaml

Füge die folgende Konfiguration ein:

services:
  node-red:
    image: nodered/node-red:5.0.4
    container_name: node-red
    restart: unless-stopped
    ports:
      - "1880:1880"
    environment:
      TZ: Europe/Berlin
    volumes:
      - ./data:/data

Speichere mit Strg+O, bestätige mit der Eingabetaste und beende Nano mit Strg+X.

Der Ordner ./data enthält später Abläufe, Einstellungen, installierte Erweiterungen und verschlüsselte Zugangsdaten. Das feste Abbild 5.0.4 verhindert einen unbemerkten Versionswechsel.

3. Node-RED erstmals starten

Starte den Container im Hintergrund:

docker compose up -d

Prüfe anschließend seinen Zustand:

docker compose ps

In der Spalte STATUS sollte Up stehen. Beim ersten Start legt Node-RED im Datenordner unter anderem die Datei settings.js an.

Warning

Der Editor besitzt nach dem ersten Start noch keinen Anmeldeschutz. Führe deshalb direkt die nächsten Schritte aus und leite Port 1880 nicht im Router ins Internet weiter.

4. Passwort-Hash erzeugen

Erzeuge im laufenden Container einen bcrypt-Hash für dein späteres Administratorkennwort:

docker compose exec node-red node-red admin hash-pw

Der Befehl fragt das Passwort verdeckt ab und gibt danach einen Hash aus, der mit $2 beginnt. Kopiere nur diesen Hash. Das echte Passwort wird nicht in die Konfigurationsdatei geschrieben.

Danger

Verwende ein langes, einzigartiges Passwort. Teile weder das Passwort noch den erzeugten Hash in Anleitungen, Bildschirmfotos oder öffentlichen Repositories.

5. Editor-Anmeldung einschalten

Öffne die von Node-RED erzeugte Einstellungsdatei auf dem Docker-Server:

nano ~/node-red/data/settings.js

Suche die Zeile module.exports = { und füge direkt darunter den folgenden Block ein. Ersetze <admin-benutzer> durch deinen gewünschten Anmeldenamen und <bcrypt-hash> durch die Ausgabe aus Schritt 4.

    adminAuth: {
        type: "credentials",
        users: [{
            username: "<admin-benutzer>",
            password: "<bcrypt-hash>",
            permissions: "*"
        }]
    },

Speichere die Datei und starte Node-RED neu:

cd ~/node-red
docker compose restart node-red

Prüfe die letzten Protokollzeilen auf Syntaxfehler:

docker compose logs --tail=100 node-red

6. Geschützten Editor öffnen

Rufe auf einem Gerät im selben Netzwerk diese Adresse auf:

http://<server-ip>:1880

Ersetze <server-ip> durch die IP-Adresse des Docker-Servers, zum Beispiel 192.168.178.50. Der Editor muss jetzt Benutzername und Passwort verlangen.

Warning

Die Verbindung verwendet im Heimnetz zunächst unverschlüsseltes HTTP. Nutze für einen Zugriff von außerhalb ausschließlich ein VPN oder einen korrekt eingerichteten Reverse Proxy mit HTTPS.

7. Ersten Ablauf testen

Ziehe im Editor einen inject-Baustein und einen debug-Baustein auf die Arbeitsfläche. Verbinde beide Bausteine, klicke oben rechts auf Deploy und danach auf die Schaltfläche links am inject-Baustein.

Im Debug-Bereich sollte ein Zeitstempel erscheinen. Damit ist geprüft, dass Editor, Laufzeit und Speicherung funktionieren.

Tip

Exportiere wichtige Abläufe zusätzlich über das Menü als JSON-Datei. Ein Export ersetzt kein vollständiges Backup, erleichtert aber das Wiederverwenden einzelner Automationen.

8. Backup und Rückweg vorbereiten

Stoppe Node-RED, damit sich während der Sicherung keine Dateien ändern:

cd ~/node-red
docker compose down

Sichere den vollständigen Projektordner:

tar -czf "$HOME/node-red-backup-$(date +%F).tar.gz" -C "$HOME" node-red

Starte Node-RED anschließend wieder:

docker compose up -d

Bewahre das Archiv vertraulich auf, weil der Datenordner Zugangsdaten von Automationen enthalten kann. Für den Rückweg stoppst du den Container, stellst den gesamten Ordner ~/node-red wieder her und startest ihn erneut.

9. Node-RED aktualisieren

Lies vor einem Versionswechsel die Veröffentlichungshinweise und erstelle ein Backup. Ändere danach in compose.yaml die Zahl hinter nodered/node-red: auf die gewünschte geprüfte Version.

Lade das neue Abbild:

cd ~/node-red
docker compose pull

Ersetze den Container mit unverändertem Datenordner:

docker compose up -d

Prüfe danach Anmeldung, Protokoll und den Testablauf. Bei Problemen trägst du wieder die zuvor verwendete Versionsnummer ein und stellst bei Bedarf das Backup wieder her.

10. Typische Fehler beheben

Wenn der Container nicht startet, lies zuerst die Protokolle:

docker compose logs --tail=100 node-red

Meldet Node-RED einen Schreibfehler im Datenordner, prüfe dessen Besitzer:

ls -ld ~/node-red/data

Falls nötig, stelle die erwartete Benutzer-ID wieder her:

sudo chown -R 1000:1000 ~/node-red/data

Ist die Weboberfläche nicht erreichbar, prüfe, ob Port 1880 bereits belegt ist:

sudo ss -ltnp | grep ':1880'

Bei einem Konflikt änderst du in compose.yaml nur die linke Zahl, zum Beispiel auf "1881:1880". Die neue Adresse lautet dann http://<server-ip>:1881.

Fertig

Node-RED läuft jetzt mit dauerhaft gespeicherten Daten und geschütztem Editor auf deinem Server. Die Einrichtung ist erfolgreich, wenn die Anmeldung verlangt wird und der Testablauf im Debug-Bereich einen Zeitstempel ausgibt.