Node-RED auf Ubuntu installieren und updaten
Node-RED auf Ubuntu installieren und updaten: Installationsskript, Service mit Autostart per systemd, Admin-Login und ein Update ohne Datenverlust.
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. Die Anleitung habe ich ursprünglich auf Ubuntu 20.04 geschrieben, sie funktioniert unverändert genauso auf Ubuntu 22.04 und 24.04 — das offizielle Skript bringt die passende Node.js-Version selbst mit. Damit kannst Du später auch Telegram-Nachrichten per Node-RED oder E-Mails mit Node-RED versenden.
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. Durch den Autostart läuft Node-RED auch wieder, wenn Du etwa Deinen Ubuntu-Server automatisch neu starten lässt. 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 per Let’s Encrypt einrichten 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.
Node-RED updaten
Dadurch dass nodered eine Node.js Applikation ist, geht das Node-RED Update 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
Schritt 1: Backup. Bevor ich irgendetwas update, sichere ich das Konfigurationsverzeichnis. Dort liegen Flows, Credentials und die settings.js — geht dabei etwas schief, bist Du in einer Minute wieder auf dem alten Stand:
tar czf ~/node-red-backup-$(date +%F).tar.gz ~/.node-red
Schritt 2: Update über das offizielle Skript. Das ist der Weg, den ich auf Servern immer nehme. Es ist exakt dasselbe Skript wie bei der Installation — es erkennt die bestehende Installation, hebt bei Bedarf auch Node.js an und stoppt den Dienst währenddessen selbst. Du musst nodered also nicht vorher händisch stoppen:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Wichtig: ~/.node-red bleibt beim Update erhalten. Deine Flows, Nodes und Einstellungen überlebt das Skript, es tauscht nur Node-RED und gegebenenfalls Node.js aus. Wenn Du auf Nummer sicher gehen willst, stoppe den Dienst trotzdem vorher mit sudo systemctl stop nodered.
Schritt 3: Dienst starten und Version prüfen.
sudo systemctl restart nodered
systemctl status nodered
node-red --help
Läuft der Dienst und stimmt die Versionsnummer, bist Du fertig. Danach lohnt ein kurzer Blick in den Editor, ob alle Flows noch da sind und keine Node in Rot als „missing“ angezeigt wird — das passiert gelegentlich bei Contrib-Nodes, die zu einer neuen Node.js-Version noch nicht passen.
Hattest Du Node-RED per npm installiert (also ohne das Skript), genügt für das Update ein normales Install:
sudo npm install -g --unsafe-perm node-redMehr aus „Linux, DevOps & Systeme"
Docker Speicherplatz freigeben
Docker Speicherplatz freigeben: mit docker system df die Belegung sehen und mit prune ungenutzte Images, Container, Volumes und Build-Cache löschen.
WeiterlesenWindows Core Prozesse verstehen
Windows Core-Prozesse verstehen: was smss.exe, csrss.exe, lsass.exe und svchost.exe wirklich tun und woran Du getarnte Malware im Prozessbaum erkennst.
WeiterlesenUbuntu LTS Release Update
Ubuntu LTS sicher aktualisieren: Snapshot bei Contabo oder Netcup anlegen, mit apt update und do-release-upgrade hochziehen und den SSH-Port bestätigen.
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.