Installation Player Linux (EPD/MQTT)
Vorraussetzung
Die Player-Software für die Electronic Paper Displays, läuft auf dem Server und stellt von dort aus die anzuzeigenden Inhalte in für die EPD bereit.
Voraussetzung für diese Anleitung ist daher ein aufgesetzter, funktionierender iSign-Server unter Linux.
Installation
Verbinden Sie sich mit dem Server und führen die folgenden Befehle aus:
wget -qO- https://releases.de-signo.de/isign/9.0/install.sh | bash -s -- isign-mqtt-player
Mögliche Optionen
- “--testing” verwendet das Testing-Repository
- Eine spezifische Version kann wie folgt angegeben werden: isign-player=9.0.26
- Enthält die iSign Version einen Bindestrich (z.B. 9.0.20-rc), so muss dieser durch ein Plus ersetzt werden (z.B. 9.0.20+rc)
Da der iSign Server unter docker ausgeführt wird verwenden wir isign-server-docker-issrvconfig statt issrvconfig. Ersteres führt issrvconfig innerhalb der Container-Struktur aus.
Einstellen der Konfigurationsoptionen
sudo nano /etc/isign/player/compose/player-setup.jsonc
Server in die “player-setup.jsonc” eintragen
// isign player configuration file
{
"display-server": {
// enter the server urls here
"serverUrl": "https://Ihr_Server.isigncloud.de/ContentApi",
"issuerUrl": "https://Ihr_Server.isigncloud.de/ID",
"enablePlayerApiAuthentication": true,
},
"mqtt": {
// configure the mqtt broker here:
// for encrypted mode use
//"broker": "mqtts://MY_HOST:8883/",
"certificateFindValue": "Ihr_Server.isigncloud.de",
// this defaults to unencryped
"broker": "mqtts://Ihr_Server.isigncloud.de:8883/",
// configure authentication
"userName": "iSign",
"password": "iStMMb4a",
},
}
Anwenden der Konfiguration und start des Servers
sudo isign-player-docker-apply-config
isign.player.conf
Die isign.player.conf definiert System-Paramter wie z.B. Pfade oder CPU- und Leistungsgrenzen für den Dienst isign.server.
Die Datei ist optional. Sie ist unter /etc/isign/player/isign.player.conf zu finden. Die Standardwerte sind in der isign.player.default.conf hinterlegt. Dort sind auch Hinweise zu den einzelnen Variablen zu finden.
Die Pfade in isign.player.conf werden teilweise in docker containers gemappt. Auf Softlinks innerhalb dieser Verzeichnisse, welche auf Dateien verweisen welche außerhalb der Verzeichnisse liegen hat der docker container keinen Zugriff. Falls Sie Links verwenden möchten, verwenden Sie daher Hardlinks.
Sicherheitshinweise
Die iSign Konfiguration erstellt für den Serverzugriff einen Benutzer beim MQTT-Broker. Dieser ist für die Authentifizierung des Servers gedacht. Verwenden Sie diese Zugangsdaten auf dem EPD nur zu Testzwecken. Um ein sicheres System zu erhalten sollte für jedes EPD unterschiedliche Zugangsdaten angelegt werden, welche ausschließlich Zugriff auf die Topics dieses EPDs haben. Siehe auch: https://mosquitto.org/man/mosquitto-conf-5.html
Leistungsanpassung
Die Systemlast des Players ist stark von der Anzahl der damit betriebenen Displays abhängig. Die Empfehlung für die Hardware ist wie folgt:
| Anzahl Player | RAM | CPU | HDD |
|---|---|---|---|
| 10-100 | 8 GB | 2 Cores | 50 GB |
| 100-1000 | 16 GB | 8 Cores | 100 GB |
| mehr als 1000 | 64 GB | 32 Cores | 200 GB |
Host-Swap
Auf dem Host für den MQTT-Player sollte ausreichend swap Speicher zur Verfügung stehen. Der SWAP-Speicher sollte ebenso groß sein wie der RAM.
So wird ein swapfile erstellt (im Beispiel 8 GB groß)
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
# sofort aktivieren
sudo swapon /swapfile
# beim reboot aktivieren
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
Docker
Die Standardkonfiguration begrenzt den Speicher, der von den Player Komponenten verwendet wird. Passen Sie dies wie folgt an:
sudo nano /etc/isign/player/isign.player.conf
Setzen sie die Optionen nach Bedarf:
# player resources
player_max_cpu=31
player_max_mem=63G
Wenn andere Dienste, wie iSign Server auf dem gleichen System betrieben werden muss der Speicher so gesetzt werden, dass genügend Luft für das System und die anderen Dienste bleibt.
inotify
Auf manchen Systemen ist das Limit für inotify sehr gering gesetzt. Dies führt zu Problemen. Das fs.inotify.max_user_instances sollte 8192 betragen.
echo "fs.inotify.max_user_instances=8192" | sudo tee /etc/sysctl.d/70-isign.conf
Update
Um iSign zu aktualisieren verwende Sie die folgenden Kommandos. Dies aktualisiert alle Pakete auf dem System auf die aktuellste Version. Der letzte Befehl schaltet dann iSign auf die installierte Version um.
sudo apt-get update
sudo apt-get install isign-player-mqtt-docker-compose
sudo isign-player-docker-apply-config
Abfragen bei der Installation können in der Regel mit der Standardoption akzeptiert werden
Um eine bestimmte Version zu installieren kann der zweite Befehl Folgenden ersetzt werden:
sudo apt-get install isign-player-mqtt-docker-compose=9.0.19