Mini-Dokumentation: Analyzer Kiosk auf Raspberry Pi OS

1. Dienste deaktivieren
sudo systemctl disable --now lightdm.service
sudo systemctl disable --now getty@tty1.service
sudo systemctl reset-failed getty@tty1.service

2. systemd neu laden
sudo systemctl daemon-reload

3. Benutzer vorbereiten
sudo usermod -aG audio,video,input,render analyzer

4. Build-Abhängigkeiten installieren
sudo apt-get update
sudo apt-get install -y pkg-config libasound2-dev curl ca-certificates git build-essential

5. Projekt nach /home/analyzer/Phoenix kopieren
Erwartete Struktur:
/home/analyzer/Phoenix/
|- kiosk-start.sh
|- session.sh
|- www/
|- etc/systemd/system/
|  |- analyzer-kiosk.service
|  `- analyzer-web.service
`- target/release/phoenix

Hinweis:
- Das Binary target/release/phoenix wird bei Bedarf automatisch gebaut.

6. Skripte ausführbar machen
sudo chmod 755 /home/analyzer/Phoenix/session.sh
sudo chmod 755 /home/analyzer/Phoenix/kiosk-start.sh

7. systemd-Units installieren
sudo cp /home/analyzer/Phoenix/etc/systemd/system/analyzer-kiosk.service /etc/systemd/system/
sudo cp /home/analyzer/Phoenix/etc/systemd/system/analyzer-web.service /etc/systemd/system/
sudo systemctl daemon-reload

8. Dienste aktivieren
sudo systemctl enable analyzer-web.service
sudo systemctl enable analyzer-kiosk.service

9. Dienste starten
sudo systemctl restart analyzer-web.service
sudo systemctl restart analyzer-kiosk.service

10. Prüfen
sudo systemctl status analyzer-web.service --no-pager
sudo systemctl status analyzer-kiosk.service --no-pager
sudo systemctl cat analyzer-kiosk.service
sudo systemctl cat analyzer-web.service
tail -n 80 /home/analyzer/analyzer-kiosk.log

Erwartet:
- Webserver läuft auf Port 80
- Kiosk startet über kiosk-start.sh
- GUI lokal unter http://localhost/
- Phoenix unter http://<pi-ip>:8789

11. Erster Start / Update
- Wenn target/release/phoenix fehlt oder der Rust-Code neuer ist, baut kiosk-start.sh automatisch neu.
- Falls cargo/rustc fehlen oder das System-Rust zu alt ist, versucht kiosk-start.sh eine aktuelle Rust-Toolchain per rustup zu installieren.
- Zusätzlich installiert das Startskript Build-Abhängigkeiten wie pkg-config, libasound2-dev, curl, git und build-essential per apt.
- Ohne pkg-config und libasound2-dev schlägt der ALSA-Rust-Build mit `alsa-sys`/`alsa.pc not found` fehl.
- Mit sehr altem Debian-/Volumio-Rust (`rustc 1.63` o.ä.) schlägt der Build an neueren Crates fehl; deshalb nutzt Phoenix bei Bedarf rustup/stable.
- Währenddessen erscheint die Meldung auf tty1, erst danach startet X/Chromium.

12. Externer Zugriff
- GUI: http://<pi-ip>/
- Phoenix: http://<pi-ip>:8789

13. Referenz-Global-Config setzen

Analyzer:
```bash
mkdir -p /home/analyzer/.config/phoenix
cp /home/analyzer/Phoenix/reference-config/phoenix-global-config.analyzer.json /home/analyzer/.config/phoenix/global-config.json
```

Volumio:
```bash
mkdir -p /home/volumio/.config/phoenix
cp /home/volumio/Phoenix/reference-config/phoenix-global-config.volumio.json /home/volumio/.config/phoenix/global-config.json
```

Danach Phoenix bzw. den Kiosk-Dienst neu starten.

14. Analyzer vs. Volumio

Analyzer:
- Pfad: `/home/analyzer/Phoenix`
- Webserver: `:80`
- GUI lokal: `http://localhost/`
- Kiosk-Session: `session.sh`

Volumio:
- Pfad: `/home/volumio/Phoenix`
- Analyzer-Webserver: `:8088`
- Analyzer-GUI lokal: `http://localhost:8088/`
- Volumio intern: `http://localhost:3000/`
- Kiosk-Session: `session_volumio.sh`
- `toggle-ext`: `/home/volumio/Phoenix/toggle-ext`

Wichtig
- Diese Anleitung geht von Benutzer analyzer und Pfad /home/analyzer/Phoenix aus.
- Wenn Benutzer oder Home anders heißen, müssen die Pfade in analyzer-kiosk.service und analyzer-web.service angepasst werden.
