---
title: slskd
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, downloads, p2p, soulseek, music, headless, csharp, dotnet]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=downloads, https://github.com/slskd/slskd]
---

# 🎧 slskd

> Client **Soulseek** moderne, **headless**, avec interface web. Permet de faire tourner un client Soulseek sur un serveur sans interface graphique pour **partager et télécharger de la musique (et ebooks) en P2P**, comme si vous aviez un client Nicotine+ ouvert 24/7.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://slskd.com](https://slskd.com) |
| **GitHub** | [https://github.com/slskd/slskd](https://github.com/slskd/slskd) |
| **License** | AGPL-3.0 |
| **Langage** | C# (.NET 8) |
| **Étoiles** | 147 ⭐ |
| **Dernière MAJ** | 2025-12 |
| **Catégorie** | [[cat-downloads\|Downloads]] |

## Description

**Soulseek** est l'un des derniers réseaux P2P **spécialisés musique** encore très actifs : on y trouve de la musique rare, des DJ sets, des enregistrements live, des éditions introuvables, et parfois des ebooks / bandes-son de jeux. Le client de référence historique est **Nicotine+** (Python/Qt), **graphique uniquement** — ce qui pose problème pour un serveur headless.

**slskd** résout ce problème en étant un **client Soulseek complet côté serveur**, écrit en **C# / .NET 8**, qui parle le protocole natif Soulseek et expose **toute l'UI dans une interface web moderne** (Blazor). On peut ainsi faire tourner un peer Soulseek sur un NAS, un NUC, ou un VPS, et y accéder depuis n'importe où via navigateur. La découverte de fichiers se fait par **recherche par mots-clés**, **navigation par utilisateur** (drag-and-drop depuis la liste d'users), et **partage de dossiers locaux** (téléversement vers les peers qui les demandent, comme Soulseek classique).

Fonctionnalités clés : **transfers** (download/upload) avec file d'attente persistante, **recherche** avec auto-complete, **browse** de la bibliothèque distante d'un user, **chats 1:1 et rooms** (essentiel sur Soulseek), **téléchargements partagés** (mécanisme de "wishlist" : on déclare un fichier, slskd intercepte le prochain peer qui le partage et le télécharge automatiquement), **intégration Lidarr/Beets** possible, et **API HTTP** pour scripter.

**Points forts** : interface web réactive, support multi-utilisateurs, **AGPL-3.0** (sécurité juridique), intégration *arr possible.

**Points faibles** : pas d'app mobile native, Soulseek reste un réseau "niche" (communauté bienveillante mais petite), le réseau n'est pas chiffré de bout en bout (voir sécurité).

## Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
services:
  slskd:
    image: slskd/slskd:latest
    container_name: slskd
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris
      - SLSKD_REMOTE_CONFIGURATION=true
      - SLSKD_HTTP__PORT=5030
    volumes:
      - ./config:/app
      - /mnt/media/music/incoming:/downloads
      - /mnt/media/music/shared:/shared    # dossier partagé Soulseek
    ports:
      - "5030:5030"   # UI web
      - "50000:50000" # port d'écoute Soulseek
```

### Installation manuelle

.NET 8 SDK. Cloner, `dotnet publish -c Release`, exécuter le binaire en service systemd. Configuration par fichier `slskd.yml` ou via variables d'environnement `SLSKD__SECTION__KEY`.

## Configuration

1. Définir un **username Soulseek** unique (le réseau n'aime pas les doublons).
2. **Dossier partagé** : pointer `./shared` vers le dossier que vous voulez exposer aux autres peers (typiquement votre bibliothèque musicale).
3. **Dossier d'incoming** : `./downloads` → les fichiers reçus y atterrissent. À lier à Lidarr ou Beets pour tagging automatique.
4. **Recherche partagée** ("shared searches") : déclarez un pattern (ex. `*.flac` pour un album précis) — slskd surveille le réseau et télécharge dès qu'un peer le partage.
5. **Authentification web** : compte admin + optionnellement multi-utilisateurs avec quotas.
6. **Reverse proxy** : `slskd.example.com` avec Authelia, et **redirection de port 50000** sur la box (NAT/PAT) — sinon vous apparaîtrez en "firewalled" et serez ignoré par beaucoup de peers.

## Alternatives

### Open source
- **Nicotine+** — le client historique, **graphique uniquement** (GTK/Qt), pas headless
- **Museek+ / Nicotine-Plus** — autres forks
- **Seeker** — Rust, embryonnaire
- [[app-jellyfin]] + [[app-lidarr]] — pour gérer la bibliothèque une fois reçue
- [[app-beets]] — pour tagger automatiquement la musique téléchargée

### Propriétaires
- **Soulseek officiel** — pas de client "serveur", obligation d'un poste allumé
- **Spotify / Tidal** — vastes catalogues mais pas de niche, pas de raretés, pas de DJ sets live
- **Bandcamp** — modèle d'achat direct, complémentaire

## Sécurité

- ⚠️ **Réseau Soulseek non chiffré de bout en bout** : les requêtes de recherche et le contenu transitent en clair. Ne pas partager de fichiers sensibles via le dossier partagé.
- ⚠️ **Username** : ne pas réutiliser un identifiant réel. Soulseek est en P2P ouvert, votre IP est visible par les peers.
- ⚠️ **Reverse proxy + auth obligatoire** si exposition Internet.
- ✅ **Isolation réseau** : faire tourner slskd sur un VLAN ou derrière un VPN (Tailscale) est une bonne pratique.
- ⚠️ **Contenu** : le respect du droit d'auteur reste de votre responsabilité — slskd n'est qu'un outil.
- ✅ **Sauvegardes** : `./config` (comptes, wishlists) est petit, à inclure.

## Ressources
- [Site officiel](https://slskd.com)
- [Documentation](https://github.com/slskd/slskd/wiki)
- [Reddit r/Soulseek](https://www.reddit.com/r/Soulseek/)
- [selfh.st — Downloads](https://selfh.st/apps/?tag=downloads)

## Pages Liées
- [[cat-downloads]] — Catégorie parente
- [[app-lidarr]] — Tagging musique (réception)
- [[app-navidrome]] — Streaming de la bibliothèque
- [[app-jellyfin]] — Media server audio/vidéo
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Bonnes pratiques
