App Guides

Slskd on a Seedbox: Soulseek for Music, and the One Setting You Have to Change

Soulseek is still the best place to find music that no indexer has, and slskd puts it in your browser. It installs in one click on an appbox and arrives sharing nothing at all, which is deliberate and also the one thing you have to fix yourself.

Slskd is Soulseek in a browser tab, and it starts with no shares

Soulseek has been running since before most of the apps in our catalogue existed, and it is still the place to find the live set, the out-of-print pressing or the regional release that no indexer has ever heard of. It is people sharing their own music folders with each other, and you search those folders directly.

Slskd is a web client for that network. Install it from the panel, open it in a browser, search, and files land on your appbox. There is no desktop app to leave running at home.

One thing to know before you start, because it is the difference between slskd working well and slskd being useless: we install it sharing nothing. No folders, no files, nothing offered to anybody. That is on purpose, since sharing means uploading your files to strangers from your box, and that should be your decision rather than ours. It also means the Soulseek network has you down as somebody who takes and never gives, and the network has opinions about that. More on that below, because it is the main thing this guide is for.

Getting it running

Install Slskd from the app library in the panel. When it finishes you get three things on its tile: the web address, your username, and a password.

Sign in and you are looking at an empty client that is not connected to anything yet. It needs your Soulseek account.

Connecting your Soulseek account

Slskd does not come with a Soulseek account, because accounts belong to people rather than to servers. Yours is free and you make it by using it.

In slskd, open Settings, then Options, then Edit. Under the soulseek section, fill in a username and password. If that username is new, the Soulseek server creates the account the first time you connect, so pick something you want to keep. Save, and slskd connects. Changing either value later resets the server connection, which is normal and takes a second.

While you are in that settings editor, one detail trips people up. The paths you type in there are paths as slskd sees them, not paths as you see them over SFTP. Your media folder is /media, your Flexdisk is /flexdisk, and slskd's own downloads are /downloads. Typing /home/yourname/media/Music will not work, and neither will ~/media/Music, because slskd only accepts absolute paths and has no idea your home directory exists.

Where your downloads go

Finished files land in downloads/slskd in your home directory, and partial files sit in downloads/slskd/incomplete until they finish.

That folder is not where your music server reads from. Navidrome, Subsonic, mStream and Plex all read your media tree, so a Soulseek download does not appear in any of them until you move it across into the Music folder inside media. You can do that in the file manager, over SFTP, or with any of the methods in how to get files off and around your seedbox. It is a deliberate gap: Soulseek results are other people's folder names and tag habits, and you want a look at them before they join a library you have spent time organising.

Once they are in your media tree, Navidrome or Subsonic will pick them up on the next scan and your phone can play them.

The share, which is the whole point

Here is the thing I would most like you to take away. Slskd's own code, which is also what everybody else on the network is running, sorts the people it talks to into groups, and the documentation says this about the leecher group: "By default, users must share at least one directory with one file to avoid being identified as leechers."

Read that from the other side. Every stranger whose music you want to download is running a client that, out of the box, treats a user sharing nothing as a leecher and puts them at the back of a slow queue. Share nothing and Soulseek technically works and practically crawls.

So pick a share. In the same settings editor, under shares, add a directory:

shares:
  directories:
    - /media/Music

A few things worth knowing about how that behaves here:

One more setting, for anyone with a big library. Slskd keeps its index of your shares in memory by default, which is fast and fine for a normal collection. If you are sharing a very large music folder on an appbox that is also running Plex and a handful of other apps, switch shares.cache.storage_mode to disk. Lookups get a little slower and the memory your box has to go round stays available for everything else.

Your incoming port, and why it matters

When slskd is installed you get a port of your own, published on your server, and it is shown on the app's tile in the panel. Slskd listens on that same number inside its container, so the port it advertises to the network is the one that is really reachable. You do not have to configure anything.

It matters because Soulseek peers connect to each other directly. Upstream's docs are blunt about what a client with no reachable port gets: "poor search results and the inability to browse or retrieve user information". If you ever see that, do not start editing the port, because yours already works. That port is also what the network has on record for you, so it survives app upgrades rather than being picked again.

What the Soulseek rules actually say

Soulseek publishes its rules, they are short, and two of them are worth reading before you build anything clever on top of slskd.

The first is about what you share: "You should only share and download files which you are legally allowed to or have otherwise received permission to share." Your appbox shares from our address, so that line is ours as much as yours. Share music you are allowed to share.

The second is about automation: "Spammers, automated clients (robot/bot), combinations of such, or scripts otherwise failing to implement the full range of Soulseek features are not allowed to connect." The same page says alternative clients that do implement the full feature set are tolerated, which is what slskd is, so running it is fine. Pointing a bulk downloader at its API and walking away is not, and the usual outcome is that your Soulseek account stops working. If you want a music library filled automatically, that is Lidarr's job against indexers that expect automation. Soulseek is the place you go to find the thing Lidarr could not.

Last one, since it is specific to shared hosting: the rules allow up to five clients from one IP address, and your appbox shares its address with the other accounts on the same server. If slskd will not stay signed in to the Soulseek server, that is worth a ticket rather than a dozen retries, because it is something we can look at on our side.

If something is not working

Slskd runs in its own container like everything else here, and what that platform lets you do is worth a read if you like knowing how the box is put together. Everything we install in one click is on the app library.

15+ years of seedbox hosting 4.9/5 Trustpilot (301 reviews) 96+ one-click apps

Ready to Get Started?

Set up your own media server in under two minutes.