Diese Anleitung gilt für Systeme auf Basis von Debian GNU/Linux und damit auch Ubuntu, Linux Mint und Raspberry Pi OS.

Die gezeigten Befehle werden im Terminal ausgeführt.

Bei Fragen und Problemen kannst du dich im Forum melden.

Node.js

Wie bereits in den Voraussetzungen erwähnt, wird Node.js benötigt. Ebenso brauchen wir npm (Node Package Manager), um die Abhängigkeiten zu installieren. Beides kann aus den Paketquellen installiert werden.

sudo apt-get install nodejs npm

Es ist mindestens Node.js in Version 12 erforderlich, empfohlen wird jedoch Version 16. Da in den Paketquellen meist ältere Versionen zu finden sind, empfiehlt es sich, vor der Installation die Paketquellen von NodeSource einzubinden.

Server vorbereiten

Lade das aktuelle Beta-Release herunter und entpacke es. Beim Entpacken entsteht ein neuer Ordner display.

wget https://github.com/alarmdisplay/display/releases/download/v1.0.0-beta.4/display-1.0.0-beta.4.tar.gz
tar -xzf display-1.0.0-beta.4.tar.gz
cd display

Mit cd display begibst du dich in das Hauptverzeichnis des Servers für die Anzeige. Alle nachfolgenden Befehle werden in diesem Verzeichnis ausgeführt.

Installiere nun die Abhängigkeiten.

npm install --only=production

Dann muss noch die Datenbankverbindung konfiguriert werden, ohne die der Server nicht starten kann. Lege dazu eine Datei local-production.json im Verzeichnis config/ an.

edit ./config/local-production.json

Mit den Werten aus der Anleitung zum Anlegen der Datenbank würde die Datei folgendermaßen aussehen:

{
  "mysql": "mysql://displayserver:Bitte_ersetzen@localhost:3306/ad_display"
}

Hier trägst du natürlich deine richtigen Daten ein.

Der erste Start

Der Server kann jetzt zur Probe von der Kommandozeile aus gestartet werden.

NODE_ENV=production node index.js

Der Server sollte starten, sich mit der Datenbank verbinden und die benötigten Datenbanktabellen anlegen. Zum Schluss sollte Display Backend started on http://localhost:3031 ausgegeben werden.

Als Service einrichten

Damit der Server dauerhaft läuft und bei einem Neustart automatisch startet, kann er als Service eingerichtet werden. Dies geht beispielsweise mit forever-service.

npm install -g forever
npm install -g forever-service
sudo forever-service install -s index.js -r pi -e "NODE_ENV=production" alarmdisplay_display

Die Option -r pi gibt an, dass der Prozess unter dem Benutzer pi ausgeführt werden soll. Hier kann ein beliebiger anderer Benutzer angegeben werden, aus Sicherheitsgründen sollte es aber nicht root sein. Jetzt kannst du den Dienst mit dem service-Kommando steuern, z. B. sudo service alarmdisplay_display restart.

Betrieb überwachen

Der Server protokolliert wichtige Ereignisse oder Fehler in der Datei /var/log/alarmdisplay_display.log. Mit dem Befehl tail -f /var/log/alarmdisplay_display.log wird das Ende der Datei angezeigt und neue Einträge tauchen automatisch auf.

Updates

Wenn eine neue Version erscheint, läuft das Update sehr ähnlich zur Installation. Also Release herunterladen, entpacken und mit npm die Abhängigkeiten installieren. Die Datei config/local-production.json kann aus der bestehenden Installation übernommen werden.

Wenn alles bereit ist, stoppe den Dienst mit sudo service alarmdisplay_display stop. Ersetze die bestehende Installation mit dem eben vorbereiteten Ordner. Dabei kann es ratsam sein, den alten Ordner zuvor umzubenennen (z.B. von display zu display_old), um bei Fehlern auf diese funktionierende Variante zurückgreifen zu können. Starte dann den Dienst mit sudo service alarmdisplay_display start und prüfe die Logdatei auf eventuelle Warnungen oder Fehlermeldungen.