--- title: Soulbeet created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, downloads, soulseek, music, python, automation, slskd] confidence: medium contested: false sources: - https://selfh.st/apps/?tag=downloads - https://github.com/terry90/soulbeet --- # 🟣 Soulbeet > Outil de **dĂ©couverte musicale + tĂ©lĂ©chargement automatisĂ©** pour le rĂ©seau peer-to-peer Soulseek, couplĂ© Ă  un frontend moderne et un systĂšme de watchlist d'artistes. | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://github.com/terry90/soulbeet | | **GitHub** | https://github.com/terry90/soulbeet | | **License** | MIT | | **Langage** | Python (FastAPI) + JS | | **Étoiles** | 19 ⭐ | | **DerniĂšre MAJ** | 2025 | | **CatĂ©gorie** | [[cat-downloads]] | ## Description Soulbeet se positionne comme un **orchestrateur au-dessus de [[app-slskd]]** (le client Soulseek headless de rĂ©fĂ©rence). LĂ  oĂč slskd offre une UI austĂšre pour faire des recherches manuelles sur le rĂ©seau Soulseek, Soulbeet ajoute l'**automation** : watchlist d'artistes, tĂ©lĂ©chargement des nouveaux albums dĂšs qu'ils apparaissent sur Soulseek, scoring qualitĂ©, et interface web claire. Le use case typique : vous avez 200 artistes « Ă  dĂ©couvrir » dans vos favoris, vous voulez que **toute leur discographie** soit rĂ©cupĂ©rĂ©e automatiquement quand un membre Soulseek la partage. Soulbeet interroge slskd en continu, matche les rĂ©sultats, applique des filtres (taille min, bitrate min, exclusion des compiles, exclusion des « low quality »), et lance les tĂ©lĂ©chargements. Les fichiers sont taggĂ©s et rangĂ©s proprement. DiffĂ©renciation vs les autres outils Soulseek : [[app-slskd]] est bas-niveau (recherche+download manuels), **slsk-batchdl** est un script CLI (pas d'UI, pas de watchlist persistante), et **Nicotine+** est un client desktop GTK sans orchestration. Soulbeet comble le manque d'une **« automation daemon »** avec UI web, parfaite pour un home lab. **⚠ Avertissement** : Soulseek est un rĂ©seau P2P, la disponibilitĂ© et la qualitĂ© dĂ©pendent des pairs. Les fichiers rĂ©cupĂ©rĂ©s peuvent ĂȘtre **mal taggĂ©s** ou de qualitĂ© variable. Le rĂ©seau hĂ©berge aussi du contenu sous copyright dont le partage n'est pas toujours lĂ©gal dans votre juridiction — vĂ©rifier les lois locales (en France, l'Ă©change P2P de fichiers sous copyright est tolĂ©rĂ© pour usage privĂ© dans certaines conditions, mais la mise Ă  disposition est illĂ©gale). ## Installation ### Docker Compose (recommandĂ©) ```yaml # docker-compose.yml services: slskd: image: slskd/slskd:latest container_name: slskd restart: unless-stopped ports: - "5030:5030" environment: - SLSKD_REMOTE_CONFIGURATION=true volumes: - ./slskd-config:/app - /data/music/incoming:/downloads soulbeet: image: ghcr.io/terry90/soulbeet:latest container_name: soulbeet restart: unless-stopped ports: - "8765:8765" environment: - TZ=Europe/Paris - SLSKD_URL=http://slskd:5030 - SLSKD_API_KEY=*** # remote config key de slskd - WATCHLIST_AUTO_SCAN=true - MIN_BITRATE=320 volumes: - ./soulbeet-config:/app/config - /data/music/library:/library depends_on: - slskd ``` ### Installation manuelle ```bash git clone https://github.com/terry90/soulbeet cd soulbeet pip install -r requirements.txt cp .env.example .env # configurer SLSKD_URL + API key python -m soulbeet ``` ## Configuration - **Connexion slskd** : URL interne + remote configuration key, Ă  rĂ©cupĂ©rer dans slskd. - **Watchlist d'artistes** : ajouter les noms (sensible Ă  la casse Soulseek), dĂ©finir un scan interval. - **Filtres qualitĂ©** : bitrate min (ex. 320 kbps pour MP3), exclusion des formats < 128 kbps, prĂ©fĂ©rence FLAC > MP3. - **Blacklist de termes** : exclure les fichiers contenant « karaoke », « live loud », « remastered bad », etc. - **Auto-organize** : dĂ©placer dans `/library/Artiste/AnnĂ©e - Album/## - Titre.ext`, comme Lidarr. - **Doublons** : hash-based dedup pour ne pas retĂ©lĂ©charger ce qui est dĂ©jĂ  lĂ . ## Alternatives ### Open Source - [[app-slskd]] — le daemon sous-jacent, sans orchestration. - **Nicotine+** — client desktop GTK, mature, pas self-hostable serveur. - **slsk-batchdl** — script Python CLI, pas d'UI, pas de watchlist persistante. - **beets** — tagger + organisateur, ne fait pas de download (couplage possible avec slsk-batchdl). - [[app-lidarr]] — alternative « propre » (indexers torrents) sans rĂ©seau P2P privĂ©. ### PropriĂ©taires (ce que Soulbeet remplace) - **SoulseekQT** (Windows-only) — client officiel, pas de watchlist automatisĂ©e. - **Spotify + Discover Weekly** — dĂ©couverte algorithmique, pas de fichier local. - **Bandcamp + wishlist** — lĂ©gal mais limitĂ© Ă  un sous-ensemble d'artistes. ## SĂ©curitĂ© - **RĂ©seau P2P** : votre IP est exposĂ©e aux pairs Soulseek, **fortement recommandĂ©** de passer par un **VPN** (WireGuard, [[app-tailscale]]) sur l'hĂŽte slskd. - **Bus factor 1** : projet jeune (~2 ans), un seul mainteneur principal (terry90), **risque d'abandon** non nĂ©gligeable. - **Projets jeunes** : <20 ⭐, peu de retours production, tester sur une watchlist limitĂ©e d'abord. - **Fichiers reçus** : Soulseek n'a **aucune modĂ©ration** de contenu, vĂ©rifier les fichiers (un .mp3 peut ĂȘtre un .exe renommĂ©, rare mais possible). - **API key slskd** : la remote configuration key donne un accĂšs quasi-total Ă  slskd, Ă  protĂ©ger. - **Logs** : contiennent les artistes et titres cherchĂ©s, RGPD : anonymiser avant export. ## Ressources - Repository : https://github.com/terry90/soulbeet - Soulseek rĂ©seau : https://www.soulseekqt.net/ - slskd (backend) : https://github.com/slskd/slskd - Nicotine+ (alternative) : https://nicotine-plus.org/ ## Pages LiĂ©es - [[cat-downloads]] — catĂ©gorie parente - [[app-slskd]] — backend Soulseek - [[app-lidarr]] — alternative « propre » - [[app-navidrome]] — serveur streaming musical - [[app-beets]] — tagger complĂ©mentaire - [[app-traefik]] — reverse proxy - [[app-tailscale]] — VPN rĂ©seau - [[recettes-docker-compose]] — templates - [[securisation-home-lab]] — bonnes pratiques