====== 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) / [[https://jenkins.linuxcontainers.org/view/Images/job/image-ubuntu/architecture=armhf,release=bionic,variant=default/lastSuccessfulBuild/artifact/rootfs.tar.xz|Download]] Zusätzlich habe ich noch Download Order hinterlegt. * Ubuntu Bionic Imageordner / [[https://jenkins.linuxcontainers.org/view/Images/job/image-ubuntu/architecture=armhf,release=bionic,variant=default/|Anzeigen]] Hier können Sie dann die "rootfs.tar.xz" Image herunterladen für den Router. {{:configuration:configuration:Jenkins.png|}} Bitte auf dem Router die Softwareversion 4.6.0.102 oder was zu Zeit aktuell ist installieren. * Router Image 4.6.0.102 / [[http://share.netmodule.com/public/system-software/4.6/4.6.0.102/|Image]] * Router Image latest / [[http://share.netmodule.com/public/system-software/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 / [[https://winscp.net/download/WinSCP-5.21.2-Setup.exe|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. {{:configuration:configuration:container.png|}} Mit dem Befehl lxc-info können Sie überprüfen ob der Container instalier und gestartet wurde.. ~ $ 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. {{:configuration:configuration:netzwerk_container.png|}} 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. {{:configuration:configuration:mac_adresse.png|}} Im DHCP Server richten wir uns ein Static Host ein. Der Container bekommt jetzt immer die IP 192.168.1.100 zu gewiesen. {{:configuration:configuration:static_host.png|}} Wenn wir jetzt den Container abfragen haben wir eine IP Adresse 192.168.1.100. ~ $ 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. ~ $ 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. 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)" "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'' * [[configuration:ein-smartmeter-auf-einem-lxc-container]] {{:configuration:configuration:node_browser.png|}} Sie bekommen dann die Oberfläche von Node-RED angezeigt. {{:configuration:configuration:node-red_web.png|}} 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. {{:configuration:configuration:installation_plugin.png|}} Hier bitte auf den Reiter Installation und im Suchfeld „bacnet“ eingeben. Hier dann „node-red-contrib-bacnet“ installieren. {{:configuration:configuration:bacnet.png|}} Nach der der Installation bitte noch „node-red-contrib-influxdb“ installieren. Jetzt haben Sie zu den zwei Installation auch die Funktion in Node-RED {{:configuration:configuration:plugin_node.png|}}