Node-RED ist ein von IBM entwickeltes grafisches Entwicklungswerkzeug. Die Software ermöglicht es, Anwendungsfälle im Bereich des Internets der Dinge mit einem einfachen Baukastenprinzip umzusetzen. Die einzelnen Funktionsbausteine werden durch Ziehen von Verbindungen verbunden. (aus Node-RED) Node-Red ist in der Heimautomatisierungsszene sehr beliebt.
Software | |
---|---|
Produkthomepage | Node-Red |
GitHub | node-red |
Plattformen | Linux, macOS, Windows, Android (experimentell), Docker, AWS, Azure, IBM Cloud |
Linux-Paketierung | NPN, Snap, RPM |
Lizenz | Apache License |
Preis | kostenlos |
weitere Informationen im Wiki | |
Node-RED (Docker) |
In der Dokumentation werden die Installationswege für die verschiedenen Plattformen beschrieben. In Kern wird eine aktuelle Node.js-Umgebung vorausgesetzt, in der dann mit sudo npm install -g –unsafe-perm node-red
das Node-Red installiert wird. Auf diesem Weg soll auch die offiziell nicht dokumentierte Installation unter macOS möglich sein.
Für Linux-Systeme gibt es Installer-Scripte sowie ein Snap-Paket.
Es können u.a. die folgenden Maßnahme zur Absicherung von Node-Red ergriffen werden:
Diese und weitere Maßnahmen sind in der Node-RED-Dokumentation beschrieben.
Als erste Maßnahme solte man den Zugriff auf den Editor und die Admin-API passwortgeschützt einrichten. Hierfür können in der settings.js
Kombinationen von Benutzernamen und zugehörigen Passworten vorgegeben werden:
adminAuth: { type: "credentials", users: [ { username: "admin", password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.", permissions: "*" }, { username: "george", password: "$2b$08$wuAqPiKJlVN27eF5qJp.RuQYuy6ZYONW7a/UWYxDTtwKFCdB8F19y", permissions: "read" } ] }
Die entsprechende Passage sollte in der settings.js
enthalten und mit führenden //
auskommentiert sein.
Der Passwort-Hash wird wie folgt erstellt werden:
node-red admin hash-pw
docker exec -it <Name des Container> bash
eine Shell im Container aufgerufen werden, um den obigen Befehl aufzurufen.