INSTAR Deutschland GmbHINSTAR Deutschland GmbH

Ausführen eines INSTAR Node-RED Dashboards in Docker





Docker ist eine Anwendung, die die Verwaltung von Prozessen in Containern vereinfacht. Mit Containern können Sie Ihre Anwendungen in ressourcenisolierten Prozessen ausführen. Sie ähneln virtuellen Maschinen, aber Container sind portabler, ressourcenfreundlicher und stärker vom Host-Betriebssystem abhängig.

Ausführen eines INSTAR Node-RED Dashboards in Docker

Docker Installieren unter Ubuntu 20.04

Aktualisieren Sie zunächst Ihre bestehende Paketliste:

sudo apt update

Installieren Sie als nächstes ein paar erforderliche Pakete:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Fügen Sie dann den GPG-Schlüssel für das offizielle Docker-Repository hinzu:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Fügen Sie das Docker-Repository zu den APT-Quellen hinzu:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Aktualisieren Sie nun die Paketdatenbank mit den Docker-Paketen:

sudo apt update

Installieren Sie schließlich Docker:

sudo apt install docker-ce

Docker sollte nun installiert sein, der Hintergrundprozess gestartet und aktiviert sein, um beim Booten automatisch gestartet zu werden. Sie können jetzt prüfen ob alles läuft:

sudo systemctl status docker

docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running)

Wenn Sie die Eingabe von sudo vermeiden wollen, wenn Sie den docker Befehl ausführen, fügen Sie Ihren Benutzernamen der docker Gruppe hinzu:

sudo usermod -aG docker ${USER}

Um die neue Gruppenmitgliedschaft anzuwenden, melden Sie sich vom Server ab und wieder an, oder geben Sie Folgendes ein:

su - ${USER}

Testen Sie nun, ob alles eingerichtet ist, indem Sie folgendes eingeben:

docker info

Node-RED Konfiguration herunterladen

Wir brauchen jetzt einen Ordner, den der Node-RED-Container verwenden kann, um seine Daten zu persistieren. Klonen Sie dafür dieses Repository oder laden Sie diese Zip Datei herunter und unzippen Sie sie und speichern Sie alles im /opt Verzeichnis. Stellen Sie sicher, dass der Docker-Benutzer Zugriff auf dieses Verzeichnis hat und in dieses Verzeichnis schreiben darf:

chown -R nodered:nodered /opt/nodered/*
chmod -R 777 /opt/nodered

Node-RED im Docker ausführen

Laden Sie danach das offizielle Node-RED Image vom Docker Hub:

docker pull nodered/node-red:latest

Führen Sie nun den Container Node-RED mit folgendem Befehl aus:

docker run -d --rm --privileged --net=host -v /opt/nodered/data:/data --name nodered nodered/node-red:latest
-d Lassen Sie den Container abgekoppelten vom Terminal im Hintergrund laufen
-rm Wenn Sie den Container stoppen, soll er entfernt werden
--privileged Das ist vergleichbar damit, als würde man den Prozess mit sudo laufen lassen und verhindert, dass man auf LINUX-Sicherheitseinschränkungen stößt. Sie können dieses Flagge entfernen. Wenn Ihre Berechtigungen korrekt gesetzt sind, sollte der Container auch ohne laufen.
--net=host Üblicherweise werden Docker-Container in einem virtuellen Netzwerk ausgeführt. Um auf einen Dienst außerhalb von localhost zugreifen zu können, müssen Sie die notwendigen Ports öffnen - Sie können dieses Flagge durch -p 1880:1880 ersetzen, um nur den Port zu öffnen, den das Node-RED UI benötigt. Wenn Sie zusätzliche Dienste in Node-RED installieren, die andere Ports benötigen, müssen Sie diese alle im RUN Befehl hinzufügen. Das Setzen des Netzwerks auf host ist nur eine Abkürzung für die lokale Entwicklung.
-v /opt/Node-RED/data:/data Dadurch wird der Ordner, den Sie erstellt haben, in den Container eingebunden. Alle Daten, die von Node-RED innerhalb des Containers gespeichert werden, bleiben in diesem Ordner erhalten.
--name nodered Geben Sie Ihrem Container einen Namen, damit Sie ihn mit diesem Namen ansprechen können, anstatt seine ID zu kennen zu müssen.
nodered/node-red:latest Dies ist das Image, aus dem Sie in den Container aufbauen wollen

Konfigurieren Ihres Dashboards

Verwendete Node-RED Nodes:

Ausführen eines INSTAR Node-RED Dashboards in Docker

Um Ihre INSTAR Full HD-Kamera anzuschließen, müssen Sie:

  1. Doppelklicken Sie auf den ONVIF-Knoten und fügen Sie die IP-Adresse, ONVIF-Port und Admin-Anmeldung Ihrer Kamera hinzu.
  2. Doppelklicken Sie auf den GET Snap HTTP-Knoten und fügen Sie die Snapshot-URL Ihre Kamera hinzu:

    • JPG Pfad 1: http://192.168.x.x/tmpfs/snap.jpg?usr=usernam&pwd=password
    • JPG Pfad 2: http://192.168.x.x/tmpfs/auto.jpg?usr=usernam&pwd=password
    • JPG Pfad 3: http://192.168.x.x/tmpfs/auto2.jpg?usr=usernam&pwd=password
  3. Doppelklicken Sie auf den Alarmserver MQTT IN Knoten und klicken Sie um den Server (Broker) zu bearbeiten. Jetzt können Sie die MQTT-Broker-Konfiguration Ihrer Kamera hinzufügen. Dies ist dann der Broker, der von allen MQTT-Knoten verwendet wird - Sie müssen ihn also nur an einer Stelle ändern. Hinweis: Wenn Sie einen externen MQTT-Broker verwenden und Ihre Kamera als Client angeschlossen ist, können Sie hier Ihre Brokerkonfiguration verwenden. Aber Sie müssen die MQTT-Topics in ALLEN MQTT-Knoten von den lokalen Topics auf das kameraspezifische Topics unter Verwendung der MQTT-ID Ihrer Kamera abzuändern.

Ausführen eines INSTAR Node-RED Dashboards in Docker