Files
wiki/Catalogue-Self-Hosted/apps/app-soulbeet.md
T
2026-06-09 18:40:21 +02:00

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
catalogue
downloads
soulseek
music
python
automation
slskd
medium false
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é)

# 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

Pages Liées