Soulseek Dockers


Recommended Posts

  • 3 months later...

I'm on Unraid 6.9.2 and am not having any issues with configuration persistence post-container restart. Although, I have not checked downloaded file privileges, yet.

 

Also, the container was unbootable and gave errors in logs unless I used /data/* for the container paths, as shown in the docker-cli example in the repository, as quoted below:

 

docker run -d --name soulseek --restart=always \
-v "/persistent/appdata":"/data/.SoulseekQt" \
-v "/persistent/downloads":"/data/Soulseek Downloads" \
-v "/persistent/logs":"/data/Soulseek Chat Logs" \
-e pgid=1000 \
-e puid=1000 \
-e resize=scale \
-e resolution=1280x720 \
-p 6080:6080 \
realies/soulseek

 

Installation Instructions:

 

Unraid -> Docker -> Add Container

 

Toggle Advanced View in upper right

 

Name: Soulseek

Repository: realies/soulseek

Docker Hub URL: https://hub.docker.com/r/realies/soulseek/

Icon URL: https://d36jcksde1wxzq.cloudfront.net/be7833db9bddb4494d2a7c3dd659199a.png

WebUI: http://localiphere:6080

Network Type: Bridge

Console Shell Command: Shell

Port 1:

   Container Port: 6080

   Host Port: 6080 (or whatever port you want to access container from)

Path 1:

   Container Path: /data/.SoulseekQt

   Host Path: /mnt/user/appdata/soulseek

Path 2:

   Container Path: /data/Soulseek Chat Logs

   Host Path: /mnt/user/appdata/soulseek/chatlogs

Path 3:

   Container Path: /music

   Host Path: /mnt/user/music/

Variable 1:

   Name: PUID

   key: puid

   value: 99

Variable 2:

   Name: PGID

   key: pgid

   value: 100

Variable 3:

   Name: Resolution

   key: resolution

   value: 1600x900

Link to comment
  • 5 months later...

Just to let you know, the Docker image has just been refactored and updated. It now uses the latest ubuntu image and noVNC package, TigerVNC to scale according to the browser viewport, deprecates the `resolution` and `resize` configuration parameters, and adds parameters to reconfigure the default umask, VNC server password and time zone.

 

Link to comment
On 2/18/2021 at 3:49 AM, ShadowVolt said:

So, bit of a weird problem. I got everything running, but the client won't display Japanese characters at all, they are just blank squares and mixed garbage. (Using VNC Viewer, not noVNC.) Unfortunately I have no idea how to fix this. Pic of it below.

 

weirdtext.png.c74f06a2d407b5d3a73367d73eaba851.png

 

And a question: How would I go about setting up the listen ports within unraid? I fiddled around with it some, but I'm kinda feeling around in a dark room, so I have no idea if it is working.

 

Same for me.

 

Japanese, Korean, Chinese and Thai character do not work

Russian character works

 

And thank you for instructions in this topic...I was searching why my container wasn't saving settings, and i found the answer here :)

Link to comment
  • 2 months later...

@realies after the last docker update, docker doesn’t fire up anymore.

 

2022-05-26 13:07:47,706 INFO Set uid to user 1000 succeeded
2022-05-26 13:07:47,711 INFO supervisord started with pid 25
2022-05-26 13:07:48,714 INFO spawned: 'tigervnc' with pid 26
2022-05-26 13:07:48,719 INFO spawned: 'openbox' with pid 27
2022-05-26 13:07:48,724 INFO spawned: 'novnc' with pid 28
2022-05-26 13:07:48,728 INFO spawned: 'soulseek' with pid 29
2022-05-26 13:07:49,078 INFO exited: novnc (exit status 1; not expected)
2022-05-26 13:07:50,526 INFO success: tigervnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-26 13:07:50,526 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-26 13:07:50,535 INFO spawned: 'novnc' with pid 37
2022-05-26 13:07:50,536 INFO success: soulseek entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-26 13:07:50,648 INFO exited: novnc (exit status 1; not expected)
2022-05-26 13:07:51,764 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:07:52,767 INFO spawned: 'openbox' with pid 47
2022-05-26 13:07:52,769 INFO spawned: 'novnc' with pid 48
2022-05-26 13:07:52,790 INFO exited: novnc (exit status 1; not expected)
2022-05-26 13:07:52,823 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:07:53,826 INFO spawned: 'openbox' with pid 56
2022-05-26 13:07:53,867 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:07:55,871 INFO spawned: 'openbox' with pid 57
2022-05-26 13:07:55,873 INFO spawned: 'novnc' with pid 58
2022-05-26 13:07:55,926 INFO exited: novnc (exit status 1; not expected)
2022-05-26 13:07:55,926 INFO gave up: novnc entered FATAL state, too many start retries too quickly
2022-05-26 13:07:56,943 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-05-26 13:07:56,944 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:07:57,947 INFO spawned: 'openbox' with pid 66
2022-05-26 13:07:57,984 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:07:58,987 INFO spawned: 'openbox' with pid 67
2022-05-26 13:07:59,024 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:08:01,028 INFO spawned: 'openbox' with pid 68
2022-05-26 13:08:01,066 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:08:04,071 INFO spawned: 'openbox' with pid 69
2022-05-26 13:08:04,108 INFO exited: openbox (terminated by SIGABRT; not expected)
2022-05-26 13:08:05,109 INFO gave up: openbox entered FATAL state, too many start retries too quickly

 

Edited by iilied
added log
Link to comment
  • 5 months later...
  • 1 month later...

This is working great for me on the whole, but I have 2 weird issues.

 

Firstly, about 25% of the time, on restart the config's lost. I backed up the config within SlSk, so I restore that, restart from the Docker controls and it's fine. Other times I can reboot the server and it'll come back as it was without needing to reload config.

 

Secondly, every time I check the CA or docker panels, SlSk is reporting that it needs to update. Fairly sure the application hasn't been updated for years and the Github page is showing the last update to the Docker image was 2 months ago. Strangely, it's showing that it's the latest, but also that an update's ready...

image.png.dcde1235709e09ae082233f1ebfd78e8.png

 

Can anyone shed any light on either of these?

Link to comment
  • 2 months later...

@realies I've had your container working, but since the latest update, I can't get any VNC connection.

 

I've never had noVNC working, but using TigerVNC on my local machine or VNC Viewer on my Android devices worked a treat.

 

Can you/anyone see anything wrong/missing here?

 

docker run
  -d
  --name='Soulseek'
  --net='bridge'
  --cpuset-cpus='1,3'
  -e TZ="Europe/London"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="Soulseek"
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='https://[IP]:[PORT:6080]/'
  -l net.unraid.docker.icon='http://www.slsknet.org/news/sites/default/files/slsk_bird.jpg'
  -p '6080:6080/tcp'
  -v '/mnt/user/appdata/soulseek/':'/data/.SoulseekQt':'rw'
  -v '/mnt/user/appdata/soulseek/chatlogs/':'/data/Soulseek Chat Logs':'rw'
  -v '/mnt/user/Media/Downloads/Soulseek/Config/':'/home/Soulseek/Config/':'rw'
  -v '/mnt/user/Media/Downloads/Soulseek/':'/home/Soulseek/Downloads':'rw'
  -v '/mnt/user/Media/':'/home/Soulseek/Media/':'ro' 'realies/soulseek'

 

Link to comment

@realies sorry to be a PITA... I've tried everything. Deleted, cleared and otherwise. I've deleted the template and started over. Exactly as in the xml posted above.

 

I've checked the logs and all I see is:

 

2023-03-21 07:42:05,226 INFO Set uid to user 0 succeeded
2023-03-21 07:42:05,229 INFO supervisord started with pid 1
2023-03-21 07:42:06,231 INFO spawned: 'tigervnc' with pid 11
2023-03-21 07:42:06,233 INFO spawned: 'openbox' with pid 12
2023-03-21 07:42:06,234 INFO spawned: 'novnc' with pid 13
2023-03-21 07:42:06,236 INFO spawned: 'soulseek' with pid 14
2023-03-21 07:42:07,441 INFO success: tigervnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-03-21 07:42:07,441 INFO success: openbox entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-03-21 07:42:07,441 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-03-21 07:42:07,441 INFO success: soulseek entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

 

I can't get NoVNC or any other VNC client to connect.

 

image.thumb.png.bfd77c9efed01d6dcdee6b3110000ffa.png

 

I'm out of ideas...

Link to comment
On 1/9/2018 at 7:09 PM, ForExampleJohn said:

I'm a complete noob with docker, only recently setting up some stuff with it in unraid.  I tried adding danielguerra69's docker and like everyone else couldn't get it to work.  Turns out that the reason is that 32bit apps just don't work properly with docker on unraid - and it's down to unraid's kernel.  The containers I saw were trying to use wine to run a windows soulseek 32bit executable.

 

*However*

 

Soulseek provides a 64bit linux executable.  So, I cloned danielguerra69's project and rebuilt it to use that executable (had to use the nov 2017 beta, feb 2017 crashed all the time).  find the container at whatsalinux/soulseek

 

If you're new with docker as I am, here's the step by step to add it to unraid in docker:

 

  1. Click add container
  2. name = soulseek
  3. repository = whatsalinux/soulseek
  4. categories = downloaders
  5. Docker Hub URL = https://hub.docker.com/r/whatsalinux/soulseek/
  6. Template URL = https://hub.docker.com/r/danielguerra/soulseek/~/dockerfil
  7. Icon URL = http://www.slsknet.org/news/sites/default/files/slsk_bird.jpg
  8. WebUI = http://[IP]:[PORT:5950]/
  9. Network Type = bridge
  10. Privileged = Yes  (got fuse errors without this)
  11. Click Add Another Path, Port or Variable : Select Host Path 
  12. name = Appdata config path |  container path=/home/soulseek/.config/  | host path = /mnt/user/appdata/soulseek/config   
  13. presume you have an "appdata" share, if not, create one, then mkdir -p this directory on unraid:  mkdir -p /mnt/user/appdata/soulseek/{config,Downloads,Music} 
  14. on unraid : chown nobody.users -R /mnt/user/appdata/soulseek/* 
  15. Click Add Another Path, Port or Variable : Select Host Path
  16. name = Host Path 1 | Container Path = /home/soulseek/Music/  | host path = /mnt/user/appdata/soulseek/Music/
  17. Click Add Another Path, Port or Variable : Select Host Path
  18. name = Host Path 2 | Container Path = /home/soulseek/Downloads/  | host path = /mnt/user/appdata/soulseek/Downloads/
  19. Click Add Another Path, Port or Variable : Select Host Path
  20. name = Host Path 3 | Container Path = /home/soulseek/.SoulseekQt/  | host path = /mnt/user/appdata/soulseek/SoulseekQt/
  21. Click Add Another Path, Port or Variable : Select Host Port
  22. name = Host Port 1 | container port = 5900 | host port = 5950

From there, let it build, then open a vnc client and hit <unraid ip>:5950

  1. Once you enter your user/pass, choose "/home/soulseek/Music" as your shared directory. 
  2. Under File Sharing, click "Set Download Folder" and choose /home/soulseek/Music
  3. Your config files should persist in /mnt/user/appdata/soulseek/config and load up when you rebuild the container. 
  4. LIkewise, Downloaded Music should persist in /mnt/user/appdata/soulseek/Downloads. 
  5. Add music you wish to share to /mnt/user/appdata/soulseek/Music , or just create a softlink to where you keep it on the array

 

Idk how this would get added to 'community apps', but if someone wants to let me know how that's done..

Awesome! But when I try to add a container it doesn't give me an option for a "Template URL" .  Any suggestions?

Link to comment
  • 5 months later...

@Pjrezai, browser cache works on local addresses too.

 

@Corneloues, here's an XML that I have just verified works fine:

<?xml version="1.0"?>
<Container version="2">
  <Name>soulseek</Name>
  <Repository>realies/soulseek</Repository>
  <Registry>https://hub.docker.com/r/realies/soulseek/</Registry>
  <Network>bridge</Network>
  <MyIP/>
  <Shell>sh</Shell>
  <Privileged>false</Privileged>
  <Support/>
  <Project/>
  <Overview/>
  <Category/>
  <WebUI/>
  <TemplateURL/>
  <Icon>http://www.slsknet.org/news/sites/default/files/slsk_bird.jpg</Icon>
  <ExtraParams>--restart unless-stopped</ExtraParams>
  <PostArgs/>
  <CPUset/>
  <DateInstalled>1693615037</DateInstalled>
  <DonateText/>
  <DonateLink/>
  <Requires/>
  <Config Name="Appdata" Target="/data/.SoulseekQt" Default="/mnt/user/appdata/soulseek" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/soulseek</Config>
  <Config Name="Downloads" Target="/data/Soulseek Downloads" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/soulseek</Config>
  <Config Name="PUID" Target="PUID" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">99</Config>
  <Config Name="PGID" Target="PGID" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">100</Config>
  <Config Name="Soulseek Port" Target="57620" Default="57620" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">57620</Config>
  <Config Name="noVNC Port" Target="6080" Default="" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">6080</Config>
</Container>

 

Link to comment
On 9/2/2023 at 1:39 AM, realies said:

@Pjrezai, browser cache works on local addresses too.

 

@Corneloues, here's an XML that I have just verified works fine:

<?xml version="1.0"?>
<Container version="2">
  <Name>soulseek</Name>
  <Repository>realies/soulseek</Repository>
  <Registry>https://hub.docker.com/r/realies/soulseek/</Registry>
  <Network>bridge</Network>
  <MyIP/>
  <Shell>sh</Shell>
  <Privileged>false</Privileged>
  <Support/>
  <Project/>
  <Overview/>
  <Category/>
  <WebUI/>
  <TemplateURL/>
  <Icon>http://www.slsknet.org/news/sites/default/files/slsk_bird.jpg</Icon>
  <ExtraParams>--restart unless-stopped</ExtraParams>
  <PostArgs/>
  <CPUset/>
  <DateInstalled>1693615037</DateInstalled>
  <DonateText/>
  <DonateLink/>
  <Requires/>
  <Config Name="Appdata" Target="/data/.SoulseekQt" Default="/mnt/user/appdata/soulseek" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/soulseek</Config>
  <Config Name="Downloads" Target="/data/Soulseek Downloads" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/soulseek</Config>
  <Config Name="PUID" Target="PUID" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">99</Config>
  <Config Name="PGID" Target="PGID" Default="" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">100</Config>
  <Config Name="Soulseek Port" Target="57620" Default="57620" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">57620</Config>
  <Config Name="noVNC Port" Target="6080" Default="" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">6080</Config>
</Container>

 

 

@realies I used your XML as a guide and recreated my own (attached). As before I am not getting the WebUI option from the drop menu.

Every other app I have installed (Deluge, Krusader, etc), I am able to access the noVNC interface.

Really unsure as ti why this happens every time I try this...

 

image.png.dffed372086f871d4abf5bb0e9bafd35.png

my-Soulseek.xml

  • Haha 1
Link to comment

@realies so I'm almost there. The container spins up and I can VNC in.

 

The issue is if I deviate from your XML to add a path for my Media which is separate from my downloads.

 

Name: Media
Container Path: /data/Media, or /Media

Host Path: /mnt/user/Media

Default Value: /mnt/user/Media

Access Mode: Read Only, Read Only - Shared or Read Only - Slave

 

Adding an additional path prevents noVNC from connecting. The container shows as "up", but I cannot connect. I even tried re-ordering things so that the noVNC port was last, but that made no difference either.

 

As you can see below, the container spins up, but the extra Path prevents me from doing anything with it!

 

docker run
  -d
  --name='Soulseek'
  --net='bridge'
  -e TZ="Europe/London"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="Soulseek"
  -e 'PUID'='99'
  -e 'PGID'='100'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.icon='http://www.slsknet.org/news/sites/default/files/slsk_bird.jpg'
  -p '49289:57620/tcp'
  -p '6080:6080/tcp'
  -v '/mnt/user/appdata/soulseek/':'/data/.SoulseekQt':'rw'
  -v '/mnt/user/Downloads/Soulseek/':'/data/Soulseek Downloads':'rw'
  -v '/mnt/user/Media/':'/data/Media':'ro'
  --restart unless-stopped 'realies/soulseek'
49ac84f5dc97007424e41f9975cd3df82d8f5a2ebf94fa250aee8538def1e165

The command finished successfully!

 

Any ideas?

 

Roy

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.