--- title: Explo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, music, discovery, listenbrainz, youtube, python, spotify-alternative] confidence: medium contested: false sources: - https://selfh.st/apps/?tag=music - https://github.com/LumePart/Explo --- # 🎧 Explo > « Spotify Discover Weekly » auto-hĂ©bergĂ© : tĂ©lĂ©charge automatiquement des recommandations basĂ©es sur votre historique d'Ă©coute, via **ListenBrainz** (curation) et **YouTube** (source audio). | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://github.com/LumePart/Explo | | **GitHub** | https://github.com/LumePart/Explo | | **License** | MIT | | **Langage** | Python (Flask) + TypeScript | | **Étoiles** | 32 ⭐ | | **DerniĂšre MAJ** | 2025 | | **CatĂ©gorie** | [[cat-music]] | ## Description Explo comble un manque pour les utilisateurs de [[app-funkwhale]], Navidrome ou [[app-jellyfin]] : l'absence d'Ă©quivalent auto-hĂ©bergĂ© du *Discover Weekly* de Spotify. C'est un **daemon de dĂ©couverte** qui rĂ©cupĂšre vos top artistes/tracks via **ListenBrainz** (communautĂ© MusicBrainz), interroge l'API *« fresh recommendations »* pour obtenir des morceaux nouveaux, puis tĂ©lĂ©charge chaque titre via YouTube/yt-dlp avec **taggage ID3 propre** (artiste, album, n° de piste, cover) et range dans `Artiste/AnnĂ©e - Album/## - Titre.ext`. Les fichiers atterrissent dans un dossier surveillĂ© par votre serveur de streaming. **DiffĂ©renciation** : [[app-lidarr]] gĂšre la bibliothĂšque (qualitĂ©, organisation) sans algo de dĂ©couverte. [[app-music-grabber]] et [[app-yubal]] sont des tĂ©lĂ©chargeurs Ă  la demande depuis URL. Explo est le premier maillon **discovery → library** : l'algo choisit pour vous. **Limites** : qualitĂ© audio dĂ©pendante de YouTube (variable), matching titre→vidĂ©o parfois imparfait (remaster, live). Pour du CD/master, complĂ©ter avec Qobuz/HDtracks ou Tidal HiFi. ## Installation ### Docker Compose ```yaml # docker-compose.yml services: explo: image: ghcr.io/lumepart/explo:latest container_name: explo restart: unless-stopped ports: - "8090:8090" environment: - TZ=Europe/Paris - LISTENBRAINZ_TOKEN=*** - LISTENBRAINZ_USER=your_username - DOWNLOAD_DIR=/library/incoming - AUDIO_FORMAT=mp3 - AUDIO_QUALITY=320 - CRON_SCHEDULE=0 4 * * 1 volumes: - ./explo-config:/app/config - /data/music/library:/library ``` ### Installation manuelle ```bash git clone https://github.com/LumePart/Explo cd Explo pip install -r requirements.txt cp .env.example .env python -m explo # UI sur :8090 ``` ## Configuration - **ListenBrainz** : compte sur [listenbrainz.org](https://listenbrainz.org/), rĂ©cupĂ©rer un *user token* dans le profil. Compatible avec tout scrobbler (Maloja, [[app-funkwhale]], Navidrome via plugin). - **Cron interne** : planification des runs (dĂ©faut lundi 4h, modifiable). Chaque run : recos ListenBrainz → download YouTube → tag → range. - **Filtres qualitĂ©** : bitrate min, format prĂ©fĂ©rĂ© (FLAC > MP3), exclusion karaokĂ©/live/8-bit. - **Cible de bibliothĂšque** : `DOWNLOAD_DIR` doit ĂȘtre scannĂ© par [[app-funkwhale]] ou [[app-jellyfin]]. ## Alternatives ### Open Source - [[app-music-grabber]] — downloader Ă  la demande depuis URL, pas de discovery. - [[app-lidarr]] — gestionnaire bibliothĂšque (qualitĂ©, organisation) sans algo. - [[app-yubal]] — downloader YouTube Music, pas de reco. - [[app-spotizerr]] — downloader Spotify API, pas de discovery. - **spotDL** — CLI Python, download depuis URL Spotify, pas d'algo. ### PropriĂ©taires - **Spotify Discover Weekly / Release Radar** — algo propriĂ©taire opaque, verrouillĂ© Ă©cosystĂšme Spotify. - **Apple Music Personal Station** — idem fermĂ©. - **Last.fm Pro** — reco, sans download auto. - **Tidal « My Mix »** — reco propriĂ©taire. ## SĂ©curitĂ© - **yt-dlp comme source** : sensible aux changements YouTube, peut casser temporairement. - **LĂ©galitĂ©** : tĂ©lĂ©chargement YouTube contourne les CGU et potentiellement le droit d'auteur. Directive UE 2019/790 tolĂšre la copie privĂ©e dans certains cas. - **Bus factor 1** : mainteneur unique (LumePart), projet < 1 an, risque d'abandon. Forker le repo est prudent. - **Token ListenBrainz** : dans `./explo-config`, Ă  chiffrer, pas de commit. - **Pas d'auth par dĂ©faut** sur `:8090` : derriĂšre [[app-traefik]] + [[app-authentik]] si exposĂ©. ## Ressources - Repository : https://github.com/LumePart/Explo - ListenBrainz : https://listenbrainz.org/ - yt-dlp : https://github.com/yt-dlp/yt-dlp ## Pages LiĂ©es - [[cat-music]] — catĂ©gorie parente - [[app-funkwhale]] — serveur cible naturel (scrobbles LB) - [[app-jellyfin]] — alternative serveur - [[app-lidarr]] — gestionnaire complĂ©mentaire - [[app-music-grabber]] — downloader Ă  la demande - [[app-yubal]] — alternative YT - [[app-traefik]] — reverse proxy - [[app-authentik]] — SSO - [[recettes-docker-compose]] — templates - [[securisation-home-lab]] — bonnes pratiques