Table of Contents

Aufbau & Installation

Konzept und Aufbau

Konzept

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”.

Aufbau

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).

Installation

Was installiert sein muss

  1. Docker
  2. Docker-Compose
  3. Node & npm
  4. Nginx Reverse Proxy

Installation

  1. Hier herunterladen: Download NIG
  2. Im Home-Verzeichnis eines sudo-Users entpacken
  3. bcryptjs installieren. Wird benötigt für das Passwort von nodered.
    npm i bcryptjs
  4. Die für die Domain in Nginx genutzte sites-available-Datei editieren.
    nano /etc/nginx/sites-available/eolab.de
  5. Es sollte bereits ein SSL-Zertifikat für die Domain/Subdomain existieren.
  6. Am unteren Ende diesen Code-Schnipsel einfügen:
     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;
    }
  7. Im nginx-Ordner einen Ordner nigs erstellen.
    mkdir /etc/nginx/nigs

Nutzung

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.