morz-infoboard/player/agent/README.md
Jesko Anschütz bbcf0a1228 Baue Ebene 1: Player-UI, Kiosk-Display und vollstaendiges Ansible-Deployment
Player-UI (playerserver):
- Lokale Kiosk-Seite unter /player mit orientierungsgerechtem Splash-Bild
- Splash-PNGs (Portrait/Landscape) eingebettet via go:embed
- Unteres-Drittel-Overlay mit erweiterbaren Sysinfo-Items (Hostname, Uptime)
- /api/now-playing und /api/sysinfo JSON-Endpunkte
- iframe-Overlay fuer spaetere Inhalts-URL

Ansible-Rolle signage_display (neu):
- Pakete: xserver-xorg-core, xinit, openbox, chromium, unclutter
- Kiosk-Skript mit openbox als WM (noetig fuer korrektes --kiosk-Vollbild)
- systemd-Unit mit Conflicts=getty@tty1 (behebt TTY-Blockierung beim Start)
- Chromium Managed Policy: TranslateEnabled=false, Notifications/Geolocation blockiert
- --lang=de Flag gegen Sprachauswahl-Dialog

Ansible-Rolle signage_player (erweitert):
- Legt signage_user an falls nicht vorhanden
- PlayerListenAddr und PlayerContentURL in Konfiguration
- journald volatile Storage (SD-Karten-Schonung)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 22:34:16 +01:00

582 B
Raw Permalink Blame History

Agent

Lokaler Dienst auf dem Signage-Geraet.

Aufgaben

  • periodischer HTTP-Statusreport an den Server
  • optionaler MQTT-Heartbeat (wird uebersprungen wenn kein Broker konfiguriert)
  • lokale Player-UI unter http://127.0.0.1:8090/player
  • JSON-Statusendpunkt unter http://127.0.0.1:8090/api/now-playing

Unterstruktur

  • cmd/agent/ Startpunkt
  • internal/app/ Initialisierung und Laufzeit
  • internal/config/ Konfiguration (Env + JSON-Datei)
  • internal/mqttheartbeat/ MQTT-Publisher
  • internal/playerserver/ lokaler HTTP-Server fuer Kiosk-UI