Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] binhex - slskd

Featured Replies

Hi @binhex

Many thanks for the docker container setup. 😊

Would you please document anywhere (inside the Unraid Docker Template Overview / Port: HTTP Web Interface / ...) that the API port for binhex-slsk is 8980 and different from the original slskd container where it is port 5030?

I was trying to connect LazyLibrarian with binhex-slsk and couldn't figure this out 😅

Also please add the Varible SLSKD_API_KEY with a note to generate an API key with openssl rand -hex 16 on the any Linux machine )

Many thanks!

Is there a begginers guide or "how to" on setting up API keys?

I want to setup Soularr but need an api key, and everything I've found on how to do it is pretty vague. Thanks!

  • Author
On 1/13/2026 at 11:10 PM, p0p said:

Also please add the Varible SLSKD_API_KEY with a note to generate an API key with openssl rand -hex 16 on the any Linux machine

10 hours ago, Southpaw32 said:

Is there a begginers guide or "how to" on setting up API keys?

OK so i have made some strides to make this easier, the slskd CA template now includes a new 'variable' named 'API_KEY', but as CA Templates do not auto update you wil have to add it in if you are using the template before this change, here is what it should look like:

{B5A36CD3-7656-4398-85F2-59CDF8B275F4}.png

So the actual API_KEY can be anything, as long as its between 16 and 255 characters, if you want to follow the slskd guide then they suggest you run the following command inside the slskd container to generate a randomised string (left click icon, choose console) then execute openssl rand -hex 16then copy and paste the strng into the value field for the API_KEY.
Once this is set apply the change (bottom button on the edit screen) and then set the 'variable' SLSKD_API_KEY in soularr to match and you should be good, pretty simply really.

  • Author
11 hours ago, Southpaw32 said:

I want to setup Soularr but need an api key

A quick question, are you using my newly released soularr docker image or are you using the official one on CA?, just curious really. I have put in a bit of extra love into my template and created a new image, so you can define lots of the configuraiton of soularr via the env vars, something not present in the other template or official image.

Hello~

Thanks in advance.

If you can help me, I can't figure out how to get the API key from binhex-slskd. And while I'm a bit of a noob, I found the API key easily in binhex-lidarr. Any suggestions are welcome.

Cheers,

  • Author
11 hours ago, booyou284 said:

Hello~

Thanks in advance.

If you can help me, I can't figure out how to get the API key from binhex-slskd. And while I'm a bit of a noob, I found the API key easily in binhex-lidarr. Any suggestions are welcome.

Cheers,

Thank you Fam. I didn't realize I needed to type in my own API KEY. Regards!!

Is there a way to modify the failed import handling within the Soularr container? I saw the github issue working on improving success chance but having to delete the failed import folder every once in a while, kind of negates the automation.

  • Author
1 hour ago, bonsaibobby said:

Is there a way to modify the failed import handling within the Soularr container?

no idea, you can take a look at the config file for soularr, it should be located in /config/soularr/ that will show you all options available, failing that raise an 'issue' on the github repo for soularr: https://github.com/mrusse/soularr/issues

  • 2 weeks later...
On 1/17/2026 at 4:04 PM, booyou284 said:

Thank you Fam. I didn't realize I needed to type in my own API KEY. Regards!!

@binhex still, there seems to be some confusion about the use of the API key.

For UnRaid novices that wants stuff "just working" may need some clarification inside the description.

Example:

"To use the slskd API key, you need to enter between 16 and 255 a randomized characters here."

Would that kind of sentence make sense to you @booyou284 or does it still need some clarification?

  • 2 weeks later...

I've been trying to set this up for the past few days and I'm kind of at a loss, I'll explain where I'm at:

I have the Gluetun container, it's working with protonvpn over wireguard - all good. I'm using it with download clients (Deluge) without any issue, also threw some other stuff behind there as well using the container network of Gluetun - everything's great. However....

Soulseek I can't get going. I think it's something to do with the script for updating the gluetun port.

If Soulseek isn't connected to the container network, the webgui is reachable on 8980 and 8990

If Soulseek IS connected to the Gluetun container network but Gluetun updating the incoming port is set to NO and 8980 and 8990 are exposed on the Gluetun container = GUI Reachable.

If Soulseek IS connected to the Gluetun container network and Gluetun updating the incoming port is set to YES and 8980 and 8990 are exposed on the Gluetun container = GUI Unreachable.

I have no idea what's going on in the backend causing Gluetun to just... stop working. Deluge updates just fine using the methodology and everything is reachable.

Thanks again for all your efforts.

  • Author
6 hours ago, O_M_R said:

I have the Gluetun container, it's working with protonvpn over wireguard - all good. I'm using it with download clients (Deluge) without any issue, also threw some other stuff behind there as well using the container network of Gluetun - everything's great. However....

First thought, are you trying to run slskd inside of the same gluetun container network as deluge?, if so that will not work, you cannot have multiple applications sharing a single incoming port, instead you will need to create another glutun container specifically for slskd, i do exactly this, this is what i currently have setup:

{CBD871EA-7987-4028-AAD2-CECEE6E8323A}.png

So as you can see i have three containers running,

  • gluetun-generic - for all the containers that do not require an incoming port, which is the vast majority of containers, e.g. sonarr, radarr, jackett, prowlarr, etc

  • gluetun-soulseek - as the name inplies this is specifically for soulseek containers, such as nicotine+ and slskd, do note though again you cannot run both nicotine+ and slskd in the same gluetun container network

  • gluetun-bittorrent - again im pretty sure you can guess what this is used for, again i can only run a single bittorrent client in this gluetun container network, running deluge and qbittorrent would not wok.

The golden rule - You need 1 gluetun container for each application that requires an incoming port.

p.s. I could slim this down to just two, bittorrent and soulseek and lump the containers that only require outbound (generic) into either one, but i prefer the separation and PIA are relatively generous with their concurrent connections.

  • Author
7 hours ago, O_M_R said:

If Soulseek IS connected to the Gluetun container network and Gluetun updating the incoming port is set to YES and 8980 and 8990 are exposed on the Gluetun container = GUI Unreachable.

What i suspect is happening is slskd is crashing/hanging due to the previous issue i just posted, thus when the incoming port is assigned to slskd and deluge is also using the same port then slskd crashes.

3 hours ago, binhex said:

First thought, are you trying to run slskd inside of the same gluetun container network as deluge?, if so that will not work, you cannot have multiple applications sharing a single incoming port, instead you will need to create another glutun container specifically for slskd, i do exactly this, this is what i currently have setup:

{CBD871EA-7987-4028-AAD2-CECEE6E8323A}.png

So as you can see i have three containers running,

  • gluetun-generic - for all the containers that do not require an incoming port, which is the vast majority of containers, e.g. sonarr, radarr, jackett, prowlarr, etc

  • gluetun-soulseek - as the name inplies this is specifically for soulseek containers, such as nicotine+ and slskd, do note though again you cannot run both nicotine+ and slskd in the same gluetun container network

  • gluetun-bittorrent - again im pretty sure you can guess what this is used for, again i can only run a single bittorrent client in this gluetun container network, running deluge and qbittorrent would not wok.

The golden rule - You need 1 gluetun container for each application that requires an incoming port.

p.s. I could slim this down to just two, bittorrent and soulseek and lump the containers that only require outbound (generic) into either one, but i prefer the separation and PIA are relatively generous with their concurrent connections.

This is going to be exactly my problem. For some reason I got all caught up in the Gluetun setup I completely overlooked 1 app 1 port and basic networking left my brain. Ironically my next stop when I got in front of the server again tonight was going to be changing the start order to deluge second to see what happened.

Thanks for taking the time!

  • 3 months later...

I'm hoping to get help with an issue where Slskd won't start. It gets hung on the start up script. When searching this thread, I didn't see anything that shared the error message. See below.
Context is that I started the container, everything worked just fine. Messed around with Gluetun a bit, and since then have not been able to get it to work again, always the same error. I tried, reinstalling with a fresh pull of the image and a deleting the config.

2026-05-19 11:11:33,065 DEBG 'start-script' stdout output:
[info] Starting slskd...

2026-05-19 11:11:33,065 INFO success: start-script entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2026-05-19 11:11:33,070 DEBG 'start-script' stdout output:
[INFO] Sourcing image build info from '/etc/image-build-info'

2026-05-19 11:11:33,071 DEBG 'start-script' stdout output:
[INFO] Configuration of incoming port is disabled via argument '-gip|--gluetun-incoming-port' or environment variable 'GLUETUN_INCOMING_PORT', executing remaining arguments '/opt/slskd/slskd --slsk-username USERNAME --slsk-password PASSWORD --slsk-listen-port 50300 --incomplete /data/incomplete --downloads /data/completed --username slskd --password slskd --http-port 8980 --https-port 8990 --app-dir /config/slskd --upload-speed-limit 2147483647 --download-speed-limit 2147483647 --remote-configuration --remote-file-management'...

2026-05-19 11:11:33,156 DEBG 'start-script' stdout output:
Invalid configuration: System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.
   at System.IO.FileSystemWatcher.StartRaisingEvents()
   at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher()
   at Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken(String filter)
   at Microsoft.Extensions.Primitives.ChangeToken.ChangeTokenRegistration`1..ctor(Func`1 changeTokenProducer, Action`1 changeTokenConsumer, TState state)
   at Microsoft.Extensions.Primitives.ChangeToken.OnChange(Func`1 changeTokenProducer, Action changeTokenConsumer)
   at Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor(FileConfigurationSource source)
   at slskd.Configuration.YamlConfigurationProvider..ctor(YamlConfigurationSource source)
   at slskd.Configuration.YamlConfigurationSource.Build(IConfigurationBuilder builder)
   at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
   at slskd.Program.Main(String[] args)

2026-05-19 11:11:33,160 DEBG fd 9 closed, stopped monitoring <POutputDispatcher at 22892062544896 for <Subprocess at 22892063881744 with name start-script in state RUNNING> (stdout)>
2026-05-19 11:11:33,160 DEBG fd 11 closed, stopped monitoring <POutputDispatcher at 22892062495824 for <Subprocess at 22892063881744 with name start-script in state RUNNING> (stderr)>
2026-05-19 11:11:33,160 INFO exited: start-script (exit status 0; expected)
2026-05-19 11:11:33,160 DEBG received SIGCHLD indicating a child quit

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.