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

18 lines
582 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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