6.1 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Soulbeet | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
🟣 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é)
# 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
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