Installation und Update von Node-RED auf Ubuntu 20.04
Nachdem Node-RED in Node.js implementiert ist genügt ein einfaches Kommando um es zu installieren und zu starten. Voraussetzung ist ein installierts node und npm. Idealerweise node 12 LTS oder höher. Einfache Installation zum Testen Somit ist das System ungeschützt auf Deinem Server am Port 1880…
Nachdem Node-RED in Node.js implementiert ist genügt ein einfaches Kommando um es zu installieren und zu starten. Voraussetzung ist ein installierts node und npm. Idealerweise node 12 LTS oder höher.
Einfache Installation zum Testen
# Installieren
sudo npm install -g --unsafe-perm node-red
# Starten
node-red
Somit ist das System ungeschützt auf Deinem Server am Port 1880 verfügbar: http://DEINSERVER:1880/
Server Installation
Am Server willst Du sicherlich node-red als service ausführen. Dazu gibts die Installation mittels script:
# Installation
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
# Autostart nach dem boot
sudo systemctl enable nodered.service
Das was schon. Danach kannst Du das service starten, stoppen, …
service nodered start
service nodered stop
service nodered restart
Du solltes nun
- Username/Passwort Authentication konfigurieren
- einen Reverseproxy für den Port 1880 konfigurieren
- HTTPS für die website installieren
Einfache Konfiguration
Viel muss man nicht machen. Es genügt im ~/.node-red/settings.js die Projekcts einzuschalten. Suche nach editorTheme und projects und setze enabled: true.
Starte nun den service neu. Und das wars auch schon
service nodered restart
Username/Passwort Authentication
Bearbeite das Settings-File mittels nano ~/.node-red/settings.js und füge folgenden Code ein und ersetze den HASHWERT durch die Anweisungen danach:
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "HASHWERT",
permissions: "*"
},
{
username: "benutzer1",
password: "HASHWERT",
permissions: "read"
}
]
},
Den Hashwert für das Passwort des jeweiligen Benutzers bekomsmt Du durch den Kommandozeilenbefehl:
node-red admin hash-pw
Wichtige Verzeichnisse
Im home Verzeichnis des Benutzers gibt es das Verzeichnis .node-red. Dort sind alle wichtigen Konfigurationen inklusive der Flows, Nodes, Datenbanken, etc.
Dieses Verzeichnis ist auch zum Backup geeignet.
Debugging
Wenn einmal etws nicht so funktioniert wie es soll hast Du mehrere Dinge die Du tun kannst.
- Füge einen catch-Node ein und schreib den Output in das Node-RED Debug Fenster
- Wenn Du ein Node-RED als Service ausführst kannst Du
systemctl status noderedin der Kommandozeileauf aufrufen um den Konsolen Output zu sehen.
Updaten
Dadurch dass nodered eine Node.js Applikation ist, geht das updaten denkbar einfach.
Bevor Du jedoch updatest sieh Dir die Release Nodes an. Normalerweise findest Du auch gute Infos auf deren offiziellem Blog.
Um die aktuelle Version heraus zu finden gib einfach folgendes ein:
node-red --help
Zum upgraden musst DU lediglich ein normales Install durchführen:
sudo npm install -g --unsafe-perm node-red
Falls Du das Skript für die Server Installation genutzt hattest, kannst Du auch einfach dasselbe nochmals starten:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
service nodered start Mehr aus „Linux, DevOps & Systeme"
Bash Strict Mode - robustere Shell-Skripte mit drei Zeilen
set -euo pipefail erklaert - warum diese drei Optionen Shell-Skripte deutlich verlaesslicher machen.
WeiterlesenZip, Unzip, Tar unter Linux – Kurz und bündig
Ordner komprimieren mittels zip Wechsle zunächst in das Verzeichnis über dem zu komprimierenden Ordner. Folgender Befehl komprimiert alle in dem Verzeichnis data sowie Unterverzeichnis enthaltenen Dateien: Parameters: Unzip 7zip Unter Ubuntu installieren Unter Windows installieren: Herunterladen…
WeiterlesenGoogle Gson in a nutshell
JsonObject vs JsonArray Create a JsonObject Create a JsonArray Iterate / Loop through all JsonObjects inside a JsonObject Iterate / Loop through all JsonElements inside a JsonArray Parse String into JsonObject Add a list of strings Parse from json file Get info from object Print out json Compact…
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.