From 2fb79dceada471fba7ddd7b4c9944bb69368948f Mon Sep 17 00:00:00 2001 From: retr0 Date: Mon, 6 Apr 2026 18:54:57 +0200 Subject: [PATCH] Release v1.0.5: OAuth-Server auf 0.0.0.0 gepatcht MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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://:5588 aus dem Browser im Heimnetz erreichbar. Co-Authored-By: Claude Sonnet 4.6 --- busch_radio_spotify/Dockerfile | 33 ++++++++++++++++++--------------- busch_radio_spotify/config.yaml | 2 +- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/busch_radio_spotify/Dockerfile b/busch_radio_spotify/Dockerfile index ff61f79..e8edc4b 100644 --- a/busch_radio_spotify/Dockerfile +++ b/busch_radio_spotify/Dockerfile @@ -12,23 +12,26 @@ RUN apk add --no-cache \ openssl-libs-static \ git -# Librespot aus dem Git-Tag mit --locked kompilieren. +# Librespot aus dem Git-Tag klonen, patchen und kompilieren. # -# Hintergrund: `cargo install librespot --version X.Y.Z` (ohne --locked) löst -# immer die NEUESTEN kompatiblen Abhängigkeiten auf. Das zieht vergen-gitcl -# >= 1.0 rein, das vergen-lib 9.x benötigt. librespot-core's build.rs erwartet -# jedoch vergen-lib 0.1.x → Versionkonflikt → Build-Fehler E0277. +# Patch: OAuth-Server bindet an 0.0.0.0 statt 127.0.0.1. +# Standard: 127.0.0.1 → nur vom HA-Host selbst erreichbar. +# Mit 0.0.0.0 → der OAuth-Flow ist im Browser aus dem Heimnetz zugänglich. # -# Mit `--git --tag --locked` verwendet cargo das originale Cargo.lock aus dem -# Release-Tag, das vergen-gitcl 0.x pinnt und damit kompatibel ist. -RUN cargo install \ - --git https://github.com/librespot-org/librespot \ - --tag v0.7.0 \ - --locked \ - --no-default-features \ - --features "native-tls" \ - --root /install \ - librespot +# --locked: verwendet das originale Cargo.lock aus dem Tag (pinnt vergen-gitcl +# auf 0.x und vermeidet so den vergen_lib Versionskonflikt mit 9.x). +RUN git clone --depth 1 --branch v0.7.0 \ + https://github.com/librespot-org/librespot.git /build && \ + cd /build && \ + # OAuth-Server auf allen Interfaces binden (statt nur 127.0.0.1) + sed -i 's/127\.0\.0\.1/0.0.0.0/g' oauth/src/lib.rs && \ + cargo build \ + --release \ + --locked \ + --no-default-features \ + --features "native-tls" && \ + mkdir -p /install/bin && \ + cp target/release/librespot /install/bin/librespot # ============================================================ # Runtime stage: HA-Basis-Image + ffmpeg + icecast diff --git a/busch_radio_spotify/config.yaml b/busch_radio_spotify/config.yaml index bfc0998..436e719 100644 --- a/busch_radio_spotify/config.yaml +++ b/busch_radio_spotify/config.yaml @@ -1,6 +1,6 @@ --- name: "Busch-Radio Spotify Bridge" -version: "1.0.4" +version: "1.0.5" slug: busch_radio_spotify description: > Streamt Spotify-Musik als Internet-Radio-Stream für das Busch-Jäger Unterputz-Internetradio.