- Docker installed on your machine or server
- Port 6080 open and accessible for noVNC web access (or reverse proxied, nginx example at
soulseek.conf
) - Ports required by Soulseek open and forwarded from your router to the Docker host machine
- Map port 6080 on the host machine to port 6080 on the Docker container.
- If using a GUI or webapp (e.g., Synology) to manage Docker containers, set this configuration option when launching the container from the image.
- With Docker CLI, use the
-p 6080:6080
option.
- Map the ports Soulseek uses on the Docker container.
- The first time it runs, Soulseek starts up using a random port. It can also be manually configured in Options -> Login.
- Wait for a Soulseek settings file to appear in
/data/.SoulseekQt/1
, this is saved every 60 minutes by default but can be forced to be more freuquent from Options -> General. - Map both ports from your router to the machine hosting the Docker image, and from the outside of the Docker image to the server within it. See the Soulseek FAQ for more details.
-
Launch the Docker container and map the required volumes (see How to Launch section below).
-
Access the Soulseek UI by opening a web browser and navigating to
http://docker-host-ip:6080
orhttps://reverse-proxy
, depending on your configuration.
The container supports the following configuration options:
Parameter | Description |
---|---|
PGID |
Group ID for the container user (optional, requires PUID , default: 1000) |
PUID |
User ID for the container user (optional, requires PGID , default: 1000) |
VNC_PORT |
Port for VNC server (optional, default: 5900) |
NOVNC_PORT |
Port for noVNC web access (optional, default: 6080) |
MODIFY_VOLUMES |
Modify ownership and permissions of mounted volumes (optional, default: true) |
UMASK |
File permission mask for newly created files (optional, default: 022) |
VNCPWD |
Password for the VNC connection (optional) |
VNCPWD_FILE |
Password file for the VNC connection (optional, takes priority over VNCPWD ) |
TZ |
Timezone for the container (optional, e.g., Europe/Paris, America/Vancouver) |
version: "3"
services:
soulseek:
image: realies/soulseek
container_name: soulseek
restart: unless-stopped
volumes:
- /persistent/appdata:/data/.SoulseekQt
- /persistent/downloads:/data/Soulseek Downloads
- /persistent/logs:/data/Soulseek Chat Logs
- /persistent/shared:/data/Soulseek Shared Folder
environment:
- PGID=1000
- PUID=1000
ports:
- 6080:6080
- 61122:61122 # example listening port, check Options -> Login
- 61123:61123 # example obfuscated port, check Options -> Login
docker run -d --name soulseek --restart=unless-stopped \
-v "/persistent/appdata":"/data/.SoulseekQt" \
-v "/persistent/downloads":"/data/Soulseek Downloads" \
-v "/persistent/logs":"/data/Soulseek Chat Logs" \
-v "/persistent/shared":"/data/Soulseek Shared Folder" \
-e PGID=1000 \
-e PUID=1000 \
-p 6080:6080 \
-p 61122:61122 \ # example listening port, check Options -> Login
-p 61123:61123 \ # example obfuscated port, check Options -> Login
realies/soulseek
Port Configuration
- Port 6080 is used by noVNC for accessing Soulseek from your local network. Only TCP type is needed.
- Ports 61122 and 61123 are examples; open Soulseek to determine the exact ports to forward. Only TCP type is needed.
- Configure these ports to forward from your router to the machine hosting the Docker image. See the Soulseek Port Forwarding Guide for more details.
Volume Configuration
- Mount the required directories for Soulseek data persistence.
- The example mounts an extra directory
/music/FLAC
for sharing; mount the directory you want to share.