---
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
