morz-infoboard/player/agent
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
..
cmd/agent Fuehre Health-Modell und strukturierte Agent-Logs ein 2026-03-22 16:55:20 +01:00
internal Baue Ebene 1: Player-UI, Kiosk-Display und vollstaendiges Ansible-Deployment 2026-03-22 22:34:16 +01:00
Dockerfile Baue Layout-Resolver und lokale Entwicklungsgerueste aus 2026-03-22 16:03:21 +01:00
go.mod Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip) 2026-03-22 20:54:12 +01:00
go.sum Fuege MQTT-Heartbeat zum Agent hinzu (kein Broker konfiguriert = skip) 2026-03-22 20:54:12 +01:00
README.md Baue Ebene 1: Player-UI, Kiosk-Display und vollstaendiges Ansible-Deployment 2026-03-22 22:34:16 +01:00

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