Installation von einem Node-RED Server auf einem LXC Container mit dem OS Ubuntu Bionic

Installation des LXC Container

Sie müssen sich das aktuelle Image von dem Jenkins Webserver herunterladen. Unter dem Link den ich für Sie hier bereit gestellt habe, kommen Sie auf das aktuelle Build der Ubuntu Bionic Software.

* Ubuntu Bionic Image (armhf) / Download

Zusätzlich habe ich noch Download Order hinterlegt.

* Ubuntu Bionic Imageordner / Anzeigen

Hier können Sie dann die “rootfs.tar.xz” Image herunterladen für den Router.

Bitte auf dem Router die Softwareversion 4.6.0.102 oder was zu Zeit aktuell ist installieren.

* Router Image 4.6.0.102 / Image

* Router Image latest / Latest

Die Image Datei „rootfs.tar.xz“die vom Jenkins Server herunter geladen wurde bitte auf dem Router ablegen unter dem Verzeichnis “/tmp”.

Unter Windows kann dieses mit dem Programm WinSCP durchgeführt werden.

* Programm WinSCP / WinSCP

Unter der Weboberfläche des Routers kann dann der LXC Container installiert werde. Unter der URL müssen Sie nur das Verzeichnis angeben „file:/ / /tmp/rootfs.tar.xz“ wo Sie die Image Datei abgelegt haben. Nach dem Drücken des Apply Knopf wird der Container instaliert.

Mit dem Befehl lxc-info können Sie überprüfen ob der Container instalier und gestartet wurde..

USER
~ $ lxc-info -n guest0 Name: guest0 State: RUNNING PID: 2742 CPU use: 28.53 seconds BlkIO use: 137.65 MiB Memory use: 167.06 MiB KMem use: 2.34 MiB ~ $

Zu den Netzwerk Einstellungen für den Container. Den Container wird auf die Schnittstelle LAN1 Brücken. Der Container benötigt kein eigenständigen Netzwerkadressen Bereich.

Der Container bekommt über den DHCP Dienst seine IP Adresse. Diese kann sich ändern was wir aber nicht wollen. Wir legen diese über den Dienst Static Host für den Container fest.

Wir suchen die MAC vom Container, diese wird 00:FF:AA:00:44:00 sein.

Im DHCP Server richten wir uns ein Static Host ein. Der Container bekommt jetzt immer die IP 192.168.1.100 zu gewiesen.

Wenn wir jetzt den Container abfragen haben wir eine IP Adresse 192.168.1.100.

USER
~ $ lxc-info -n guest0 Name: guest0 State: RUNNING PID: 2549 IP: 192.168.1.100 CPU use: 5.24 seconds BlkIO use: 21.84 MiB Memory use: 34.00 MiB KMem use: 2.07 MiB Link: virt0 TX bytes: 1.45 KiB RX bytes: 686 bytes Total bytes: 2.12 KiB ~ $

Jetzt können wir uns in den LXC Container einloggen mit dem Befehl lxc-attach.

USER
~ $ lxc-attach -n guest0 root@LXC_NAME:~#

Für die weiter Installation benötigen wir das Programm curl im Container. Diese können wir über apt-get einfach instalieren.

USER
root@LXC_NAME:~# apt-get install curl Reading package lists… Done Building dependency tree Reading state information… Done … Setting up libgssapi3-heimdal:armhf (7.5.0+dfsg-1) … Setting up libldap-2.4-2:armhf (2.4.45+dfsg-1ubuntu1.11) … Setting up libcurl4:armhf (7.58.0-2ubuntu3.19) … Setting up curl (7.58.0-2ubuntu3.19) … Processing triggers for libc-bin (2.27-3ubuntu1.6) … root@LXC_NAME:~#

Als nächstes wird dann das Programm Node-RED über eine Skript Datei Installiert. Diese einfach unter dem Container ausführen.

Skript Datei: “bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)”

USER
“bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)”

Als erstes wird gefragt ob die Installation unter dem Benutzer “root” durchgeführt werden soll. Wir haben nur den Benutzer “root” im Container also ja.

If you know what you are doing as root, please continue. Are you really sure you want to install as root ? (y/N) ? y

Will ich die Installationsschritte sehen bitte hier auch ja.

See the optional parameters by re-running this command with –help Are you really sure you want to do this ? [y/N] ? y Ich habe keine Pi wo ich Node-RED drauf instaliere also hier nein

Would you like to install the Pi-specific nodes ? [y/N] ? n

Die Istallation starte jetzt und kann 20-30 Minuten dauern.

This can take 20-30 minutes on the slower Pi versions - please wait.

Stop Node-RED                       \u2714
Remove old version of Node-RED      \u2714
Remove old version of Node.js       \u2714   
Install Node.js 16 LTS              
Clean npm cache                     
Install Node-RED core               
Move global nodes to local          
Npm rebuild existing nodes          
Install extra Pi nodes              
Add shortcut commands               
Update systemd script               
                                    

Any errors will be logged to /var/log/nodered-install.log

Wenn die installation durchgelaufen ist kann man Node-RED dann starten.

Wenn Sie das ganze erst mal testen wollen können Sie die Node-RED Server mit dem Befehl „node-red-start“ erst mal per Hand starten.

Wenn das ganze automatisch mit dem starten des LXC Container erfolgen soll, müssen sie dieses mit dem Befehl „sudo systemctl enable nodered.service“ einrichten.

Über einen Webbrowser kommen Sie auf die Oberfläche von Node-RED. Hier müssen Sie nur die IP-Adresse vom Container und den Port 1880 eingeben.

Wenn Sie weiter den Smartmeter einrichten wollen, kommen Sie über den Link wieder zurück

Sie bekommen dann die Oberfläche von Node-RED angezeigt.

Für Node-RED müssen noch zwei Programme installiert werden um hier bacnet und InfluxDB nutzen zu können.

Auf der Rechteseite unter dem Menü mit den drei strichen bitte die Option „Palette verwalten“ auswählen.

Hier bitte auf den Reiter Installation und im Suchfeld „bacnet“ eingeben. Hier dann „node-red-contrib-bacnet“ installieren.

Nach der der Installation bitte noch „node-red-contrib-influxdb“ installieren.

Jetzt haben Sie zu den zwei Installation auch die Funktion in Node-RED