Wird das Script newNIG.sh ausgeführt kopiert dies die einzelnen Dateien an die benötigen Stellen und ändert vorher platzierte Platzhalter in die nötigen Werte. Dies ermöglicht die einzelnen Environments im Nachhinein noch anzupassen, zu starten etc.. Jedes Environment hat seine eigene docker-compose Datei. Alle sind in eigenen Ordnern im Ordner “nig-environments” geordnet. Lediglich die nginx.conf befindet sich im Ordner “/etc/nginx/nigs”.
Es gibt einen NIG-Root-Ordner. In diesem liegen alle Dateien die zur Einrichtung benötigt werden. In diesem werden auch alle NIG-Environments gespeichert. Alle NIGs verwenden persistenten Speicher. In dem NIG-Ordner befinden sich mehrere Ordner und das Installationsscript. Die Ordnerstruktur:
In base-nginx befindet sich eine Datei zur Configuration von Nginx. In base-nig befindet sich die docker-compose Datei für ein NIG-Environment, ebenso eine custom Configurationsdatei für grafana (grafana.ini) und nodered (settings.js).
npm i bcryptjs
nano /etc/nginx/sites-available/eolab.de
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name nig.eolab.de; ssl_certificate /etc/letsencrypt/live/nig.eolab.de-0001/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/nig.eolab.de-0001/privkey.pem; include snippets/ssl-params.conf; include /etc/nginx/nigs/*.conf; }
mkdir /etc/nginx/nigs
Im newNIG.sh-Script einfach alle Variablen nach eigenen Vorstellungen editieren. Es muss selbst darauf geachtet werden, dass sich sowohl die Ports als auch die ROOT-Namen unterscheiden. Es wird nichts überprüft. Dies sollte in einer nächsten Version implementiert werden. Leicht planen lässt sich dies bspw. mit einer Excel Tabelle. Danach das Script mit sudo ausführen und das neue NIG wird erstellt.