Cue Player
Inhalt der Anleitung

Anleitung

Bereitstellen

Cue Player ist eine Web-App (PWA). Sie wird einmal auf einem Webserver bereitgestellt und dann auf jedem Gerät im Browser geöffnet und dort installiert. Danach läuft sie wie eine normale App – auch ohne Internet.

Wichtig: PWAs funktionieren nur über HTTPS oder über http://localhost. Eine einfache http://192.168.x.x-Adresse reicht für Installation und Offline-Betrieb nicht.

Variante A: GitHub Pages (kostenlos, HTTPS inklusive)

Dafür brauchst du eine eigene Kopie des Repositorys auf GitHub (Fork). Sie enthält einen Workflow (.github/workflows/pages.yml), der die App bei jedem Push auf main veröffentlicht. In der Download-ZIP (Release-Archiv) ist dieser Workflow nicht enthalten – mit der ZIP Variante B oder C nutzen.

  1. Das Repository auf GitHub forken (Schaltfläche Fork oben rechts).
  2. Im eigenen Fork: Settings → Pages.
  3. Unter Build and deployment → Source „GitHub Actions“ wählen.
  4. Unter Actions die Workflows erlauben (bei Forks sind sie anfangs abgeschaltet) und „Deploy to GitHub Pages“ → Run workflow starten. Danach veröffentlicht jeder Push auf main die App automatisch.
  5. Nach ca. einer Minute ist die App erreichbar unter https://<benutzername>.github.io/<repository>/ (hier z. B. https://listiges-kaenguru.github.io/cue-player/).

Hinweis: Bei privaten Repositories ist GitHub Pages nur mit einem kostenpflichtigen GitHub-Plan verfügbar. Alternativ Variante C nutzen (z. B. Netlify, Cloudflare Pages – dort einfach den Repository-Ordner ohne Build-Befehl veröffentlichen).

Variante B: Lokal auf einem Rechner (Windows/Linux)

Geeignet, wenn die App nur auf diesem einen Rechner laufen soll oder zum Ausprobieren.

Mit Python (unter Linux meist vorinstalliert, unter Windows über https://python.org):

cd cue-player
python3 -m http.server 8080        # Windows: py -m http.server 8080

Oder mit Node.js:

cd cue-player
npx http-server -p 8080 -c-1

Dann im Browser http://localhost:8080 öffnen. localhost gilt als sicher – Installation und Offline-Betrieb funktionieren. Nach der Installation muss der Server nicht mehr laufen; die App kommt aus dem Offline-Cache.

Variante C: Eigener Webserver

Den Inhalt der entpackten Download-ZIP – oder des Repositorys (alle Dateien außer .git/.github/tests; aus docs wird nur docs/BENUTZERHANDBUCH.md gebraucht, die eingebaute Hilfe) – in ein Verzeichnis eines HTTPS-Webservers kopieren (nginx, Apache, Caddy …). Es gibt keinen Build-Schritt und keine Server-Logik – es sind nur statische Dateien. Unterordner (https://example.org/cue/) funktionieren.

Empfohlener MIME-Typ für das Manifest: application/manifest+json (die meisten Server machen das automatisch).

Die App-Icons liegen bewusst in img/ und nicht in icons/: Apache leitet /icons/ in der Standard-Konfiguration auf seine eigenen Symbole um (Alias /icons/ …), dann fänden Browser die App-Icons nicht.

Cache-Header (empfohlen): Damit neue Versionen sofort ankommen, sollte der Server bei allen Dateien Cache-Control: no-cache senden (der Browser fragt dann jedes Mal kurz nach, unveränderte Dateien kommen als „304 Not Modified“). Bei Apache genügt eine .htaccess im App-Ordner:

<IfModule mod_headers.c>
  Header set Cache-Control "no-cache"
</IfModule>

Impressum-Link (optional): Die Datei site.json enthält Angaben des Betreibers. Im Repository ist sie leer ({}), damit eine selbst gehostete Kopie kein fremdes Impressum übernimmt. Für einen Link in ⚙ Einstellungen → Info die Datei auf dem eigenen Server so befüllen:

{ "legal": { "url": "https://example.org/impressum.html", "label": "Impressum & Datenschutz" } }

label ist optional. Die Datei muss vorhanden sein (notfalls mit {}), sonst kann die App nicht offline installiert werden. Beim Aktualisieren der App die eigene site.json nicht überschreiben. Geänderte Angaben erscheinen bei installierten Apps mit dem nächsten App-Update.

Diese Anleitung beschreibt Cue Player 0.5.5. Sie entspricht der Datei docs/INSTALLATION.md im Quelltext.