Dateien zur Konfiguration

Während viele Dinge über die Console eingestellt werden können, findet die grundlegende Konfiguration über Textdateien statt. Diese befinden sich im Ordner config.

Die Grundlage bildet dabei die Datei default.json, in der sämtliche Standardwerte definiert sind. Für die meisten Fälle reichen diese Standardwerte auch aus, und manche davon sollten erst gar nicht verändert werden. Der einzige Wert, der dort nicht gesetzt ist, ist die Datenbankverbindung. Deshalb muss diese Einstellung bei der ersten Installation berücksichtigt werden.

Die Standardwerte der default.json können durch weitere Dateien überschrieben werden. Dabei legt die Datei development.json Einstellungen für die Entwicklung fest, und production.json die Einstellungen für den Echtbetrieb.

Diese drei Dateien werden mit jedem Release ausgeliefert. Damit bei einem Update eigene Einstellungen nicht verloren gehen, sollten diese Dateien nicht verändert werden. Schreibe deine Anpassungen stattdessen in eine Datei namens local-development.json bzw. local-production.json.

Weitere technische Details gibt es in der Dokumentation zu node-config.

Einstellungen

Port anpassen

Um die Software abweichend auf Port 4711 zu betreiben, musst du die Einstellung port anpassen.

{
  "port": 4711
}

Sitzungsdauer der Console anpassen

Normal läuft die Sitzung in der Console (und von JWTs allgemein) nach 24 Stunden ab. Um die Dauer auf beispielsweise 8 Stunden zu reduzieren, trage Folgendes ein:

{
  "authentication": {
    "jwtOptions": {
      "expiresIn": "8h"
    }
  }
}

API-Keys sind davon nicht betroffen, diese laufen nie ab.

Mit der Zentrale verbinden

Wenn die Anzeige mit Einsätzen von der Zentrale versorgt werden soll, so müssen die beiden Systeme verbunden werden.

{
  "hub_host": "http://localhost:3030",
  "hub_api_key": "5:852896607ab9058cf5d75b8021e76d1c24868416925e354c66cf25738d43d4e4"
}

Das sind natürlich nur Beispielwerte. Den API-Key kannst du in der Console der Zentrale generieren.

Logging

Im Echtbetrieb schreibt die Software nur allgemeine Informationen und Fehler in das Logfile. Um einem möglichen Fehler auf die Schliche zu kommen, kannst du hiermit mehr Logausgaben bewirken:

{
  "logging": {
    "level": "debug"
  }
}

Anpassungen mit Docker

Bei der Verwendung von Docker läuft es ein bisschen anders. Hier können nur ausgewählte Einstellungen per Umgebungsvariable in den Container gegeben werden.

Um Anpassungen vorzunehmen, die nicht als Umgebungsvariable ausgeführt sind, kannst du ebenfalls eine local-Datei erstellen. Allerdings heißt diese nicht local-production.json, sondern local-docker.json.

Du kannst sie entweder direkt einbinden

... -v local-docker.json:/home/node/app/config/local-docker.json ...

oder du baust dir ein Image mit dieser zusätzlichen Datei:

FROM alarmdisplay/display
COPY ./local-docker.json /home/node/app/config/local-docker.json