librespot bindet den OAuth-Callback-Server an 127.0.0.1 (nur lokal
erreichbar). Das macht den OAuth-Flow von Heimnetz-Geräten unmöglich.
Fix: librespot Quellcode wird geklont, oauth/src/lib.rs gepatcht
(127.0.0.1 → 0.0.0.0), und dann mit cargo build kompiliert.
Damit ist http://<ha-ip>:5588 aus dem Browser im Heimnetz erreichbar.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Zeroconf/mDNS schlägt in Containern fehl weil Port 5353 vom Host
(systemd-resolved/avahi) bereits belegt ist. mdns-sd kann den Socket
nicht teilen → librespot: 'discovery disabled'.
Lösung: OAuth-Authentifizierung (der offiziell unterstützte Weg in
librespot 0.7+). Das Gerät registriert sich bei Spotifys Servern und
erscheint ohne lokales mDNS in der Spotify-App.
- --disable-discovery + --enable-oauth + --system-cache /data/librespot-cache
- Credentials werden in /data persistent gespeichert (data:rw)
- Beim ersten Start: URL im Log → Browser öffnen → Spotify autorisieren
- Ab dem zweiten Start: direkt mit gecachten Credentials
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
librespot 0.7+ unterstützt --password nicht mehr (nur noch OAuth/Zeroconf).
Der --password-Arg ließ librespot sofort abstürzen → leere Pipeline.
- username/password aus config.yaml und run.sh entfernt
- librespot nutzt jetzt ausschließlich Zeroconf/mDNS zur Erkennung
- Gerät erscheint automatisch in der Spotify-App im lokalen Netz
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bugfixes:
- Repository-Struktur für HAOS Add-on Store korrigiert
- args.BUILD_FROM aus build.yaml entfernt (hat BUILD_FROM überschrieben)
- librespot via git+locked gebaut (vergen-gitcl Versionskonflikt behoben)
- native-tls Feature für librespot-oauth aktiviert
- Icecast startet nicht mehr als root (changeowner nobody)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ha-addon/ → busch_radio_spotify/ (Ordner muss dem Slug entsprechen)
- repository.yaml im Root hinzugefügt (von HAOS zum Erkennen des Repos benötigt)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>