stream: scrobble listened tracks to ListenBrainz
All checks were successful
continuous-integration/drone/push Build is passing

The web player decides when a track counts as listened (caught near its
start and heard to ~90%, capped at 4 min) and triggers POST /scrobble.
The token stays server-side (RADIEO_LISTENBRAINZ_TOKEN), submitting the
listen with the canonical MusicBrainz MBID when available. Each airing is
deduplicated so multiple tabs submit it once.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nemunaire 2026-07-04 17:51:41 +08:00
commit d302cf1c88
7 changed files with 163 additions and 2 deletions

View file

@ -45,6 +45,11 @@ services:
depends_on:
ingest:
condition: service_healthy
environment:
# Scrobbling ListenBrainz : token utilisateur (profil → « User token »).
# Le player déclenche /scrobble ; le token reste ici, jamais exposé au
# navigateur. Laisser vide désactive le scrobbling.
- RADIEO_LISTENBRAINZ_TOKEN=${RADIEO_LISTENBRAINZ_TOKEN:-}
ports:
- "8000:8000" # flux HTTP : http://localhost:8000/radio.mp3
volumes: