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.