radieo/.env.example
Pierre-Olivier Mercier 40061446c9 ingest: support multiple weighted OpenSubsonic playlists
RADIEO_SUBSONIC_PLAYLIST now accepts a comma-separated list of playlist
names or ids, each optionally weighted with a '=<number>' suffix (e.g.
'Chill=3, Focus, Party=2'); default weight is 1 and 0 disables an entry.
The provider caches each playlist independently and walks them in
weighted-random order on every pick, falling through past empty, renamed
or unreachable playlists so the source never stalls. Picking the
playlist first (by weight) then a song uniformly gives each its
configured share regardless of length.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 16:30:21 +08:00

42 lines
2 KiB
Text

# radieo — configuration locale. Copier en `.env` et remplir.
# docker compose lit automatiquement `.env` pour ces variables.
# --- Source OpenSubsonic (Navidrome, Gonic, Airsonic…) ---
# URL de base de ton serveur (sans /rest). Laisser les champs vides désactive
# la source : le stream joue alors uniquement les fichiers déjà dans cache/.
RADIEO_SUBSONIC_URL=https://subsonic.example.org
RADIEO_SUBSONIC_USER=monuser
RADIEO_SUBSONIC_PASSWORD=monmotdepasse
# Playlist(s) à diffuser : nom OU identifiant, séparés par des virgules.
# Chaque playlist peut être pondérée avec un suffixe '=<nombre>' (défaut : 1)
# pour ajuster sa fréquence de tirage ; un poids de 0 la désactive.
# RADIEO_SUBSONIC_PLAYLIST=Chill=3, Focus, Party=2
RADIEO_SUBSONIC_PLAYLIST=Radio
# --- Source yt-dlp ---
# La liste d'URL se met dans config/urls.txt (copier config/urls.txt.example).
# Rien à mettre ici ; le fichier absent désactive simplement la source.
# --- Source ListenBrainz ---
# Feed Atom de recommandations. URL http(s) du feed de syndication, ou chemin
# local sous /config (ex. /config/recommendations.xml) pour tester. Vide = off.
# ListenBrainz ne fait que *nommer* des morceaux : chacun est résolu vers
# la bibliothèque OpenSubsonic puis, à défaut, yt-dlp.
RADIEO_LISTENBRAINZ_URL=https://listenbrainz.org/syndication-feed/user/monuser/recommendations/weekly-exploration
# --- Dosage du mix entre sources (optionnel) ---
# Poids relatifs de tirage de chaque source (0 désactive la source).
RADIEO_WEIGHT_SUBSONIC=3
RADIEO_WEIGHT_YTDLP=1
RADIEO_WEIGHT_LISTENBRAINZ=2
# --- Canonicalizer MBID (optionnel) ---
# Résout (artiste, titre) -> MBID MusicBrainz pour dédupliquer entre sources.
# Aucune clé requise. Mettre 0 pour désactiver (clé = (artiste, titre)).
RADIEO_CANONICAL_ENABLED=1
# User-Agent envoyé à MusicBrainz (qui en exige un, descriptif).
RADIEO_USER_AGENT=radieo/0.1 (personal music radio)
# --- Rétention du cache (optionnel) ---
# Nombre de morceaux joués conservés sur disque avant éviction (LRU).
RADIEO_RETENTION_KEEP=20