slskd

slskd

Official

Docker app from manrw's Repository

Overview

A modern client-server application for the Soulseek file-sharing network. It is accessible from a web browser and supports reverse proxies.

slskd

Build Docker Pulls GitHub all releases Contributors Discord Matrix

A modern client-server application for the Soulseek file-sharing network.

Features

Secure access

slskd runs as a daemon or Docker container in your network (or in the cloud!) and is accessible from a web browser. It's designed to be exposed to the internet, and everything is secured with a token that you can control. It also supports reverse proxies, making it work well with other self-hosted tools.

image

Search

Search for things just like you're used to with the official Soulseek client. slskd makes it easy to enter multiple searches quickly.

image

Results

Sort and filter search results using the same filters you use today. Dismiss results you're not interested in, and download the ones you want in a couple of clicks.

image

Downloads

Monitor the speed and status of downloads, grouped by user and folder. Click the progress bar to fetch your place in queue, and use the selection tools to cancel, retry, or clear completed downloads. Use the controls at the top to quickly manage downloads by status.

image

Pretty much everything else

slskd can do almost everything the official Soulseek client can; browse user shares, join chat rooms, privately chat with other users.

New features are added all the time!

Quick Start

With Docker

Choose Docker's built-in method of specifying a user for the container:

docker run -d \
  -p 5030:5030 \
  -p 5031:5031 \
  -p 50300:50300 \
  -e SLSKD_REMOTE_CONFIGURATION=true \
  -v <path/to/application/data>:/app \
  --name slskd \
  --user 1000:1000 \
  slskd/slskd:latest

Or use the Linuxserver/*arr PUID/PGID method:

docker run -d \
  -p 5030:5030 \
  -p 5031:5031 \
  -p 50300:50300 \
  -e PUID=1000 \
  -e PGID=1000 \
  -e SLSKD_REMOTE_CONFIGURATION=true \
  -v <path/to/application/data>:/app \
  --name slskd \
  slskd/slskd:latest

With Docker-Compose

Choose Docker's built-in method of specifying a user for the container:

services:
  slskd:
    image: slskd/slskd
    container_name: slskd
    user: "1000:1000"
    ports:
      - "5030:5030"
      - "5031:5031"
      - "50300:50300"
    environment:
      - SLSKD_REMOTE_CONFIGURATION=true
    volumes:
      - <path/to/application/data>:/app
    restart: always

Or use the Linuxserver/*arr PUID/PGID method:

services:
  slskd:
    image: slskd/slskd
    container_name: slskd
    ports:
      - "5030:5030"
      - "5031:5031"
      - "50300:50300"
    environment:
      - PUID=1000
      - PGID=1000
      - SLSKD_REMOTE_CONFIGURATION=true
    volumes:
      - <path/to/application/data>:/app
    restart: always

This command or docker-compose file (depending on your choice) starts a container instance of slskd on ports 5030 (HTTP) and 5031 (HTTPS using a self-signed certificate). slskd begins listening for incoming connections on port 50300 and maps the application directory to the provided path.

Once the container is running you can access the web UI over HTTP on port 5030, or HTTPS on port 5031. The default username and password are slskd and slskd, respectively. You'll want to change these if the application will be internet facing.

The SLSKD_REMOTE_CONFIGURATION environment variable allows you to modify application configuration settings from the web UI. You might not want to enable this for an internet-facing installation.

You can find a more in-depth guide to running slskd in Docker here.

With Binaries

The latest stable binaries can be downloaded from the releases page. Platform-specific binaries and the static content for the Web UI are produced as artifacts from every build if you'd prefer to use a canary release.

Binaries are shipped as zip files; extract the zip to your chosen directory and run.

An application directory will be created in either ~/.local/share/slskd (on Linux and macOS) or %localappdata%/slskd (on Windows). In the root of this directory the file slskd.yml will be created the first time the application runs. Edit this file to enter your credentials for the Soulseek network, and tweak any additional settings using the configuration guide.

Configuration

Once running, log in to the web UI using the default username slskd and password slskd to complete the configuration.

Detailed documentation for configuration options can be found here, and an example of the YAML configuration file can be reviewed here.

Reverse Proxy

SLSKD may require extra configuration when running it behind a reverse proxy. Refer here for a short guide.

Media gallery

1 / 3

Install Slskd on Unraid in a few clicks.

Find Slskd in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Slskd Review the template variables and paths Click Install

Download Statistics

6,024,207
Total Downloads
655,913
This Month
666,806
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
slskd/slskd:latest
Last Updated2026-06-21
First Seen2023-09-21

Runtime arguments

Web UI
http://[IP]:[PORT:5030]/
Network
bridge
Shell
sh
Privileged
false

Template configuration

SLSKD_REMOTE_CONFIGURATIONVariable
Default
false
Value
false
HTTP WEB UIPorttcp
Target
5030
Value
5030
Http Web UI PortVariable
Target
PORT
Value
5030
HTTPS WEB UIPorttcp
Target
5031
Default
5031
Value
5031
SOULSEEK CLIENTPorttcp
Target
50300
Default
50300
Value
50300
SLSKD_UPLOAD_SLOTSVariable
Value
10
SLSKD_UPLOAD_SPEED_LIMITVariable
Default
1000
Value
1000
Soulseek UsernameVariable
Target
SLSKD_SLSK_USERNAME
Soulseek PasswordVariable
Target
SLSKD_SLSK_PASSWORD
SLSKD_SLSK_DESCRIPTIONVariable
Value
A Soulseek user
SLSKD_SLSK_DIAG_LEVELVariable
Default
None|Warning|Info|Debug
Value
None
Web UI UsernameVariable

The username for the web UI

Target
SLSKD_USERNAME
Web UI PasswordVariable

The password for the web UI

Target
SLSKD_PASSWORD
Application dataPathrw
Target
/app
Value
/mnt/user/appdata/slskd/