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

6.0 KiB


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
GitHub https://github.com/slskd/slskd
License AGPL-3.0
Langage C# (.NET 8)
Étoiles 147
Dernière MAJ 2025-12
Catégorie cat-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é)

# 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

Pages Liées