Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/realies/soulseek-docker
🐳 Soulseek Docker Container
https://github.com/realies/soulseek-docker
container docker novnc slsk soulseek tigervnc vnc web xtigervnc
Last synced: 1 day ago
JSON representation
🐳 Soulseek Docker Container
- Host: GitHub
- URL: https://github.com/realies/soulseek-docker
- Owner: realies
- License: mit
- Created: 2018-02-17T02:47:57.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-25T00:02:32.000Z (20 days ago)
- Last Synced: 2024-10-26T12:03:45.806Z (19 days ago)
- Topics: container, docker, novnc, slsk, soulseek, tigervnc, vnc, web, xtigervnc
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/realies/soulseek/
- Size: 1.25 MB
- Stars: 215
- Watchers: 6
- Forks: 35
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Soulseek Docker Container
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/realies/soulseek-docker/build.yml)
![Docker Build](https://img.shields.io/docker/automated/realies/soulseek)
![Docker Pulls](https://img.shields.io/docker/pulls/realies/soulseek)
![Docker Image Size](https://img.shields.io/docker/image-size/realies/soulseek)![Soulseek Docker Container Screenshot](https://i.snag.gy/8dpAbV.jpg)
## Prerequisites
- 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## Setup
1. 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.2. 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](https://www.slsknet.org/news/faq-page#t10n606) for more details.3. Launch the Docker container and map the required volumes (see [How to Launch](#how-to-launch) section below).
4. Access the Soulseek UI by opening a web browser and navigating to `http://docker-host-ip:6080` or `https://reverse-proxy`, depending on your configuration.
## 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) |## How to Launch
### Using Docker Compose
```yaml
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
```### Using Docker CLI
```bash
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
```### Using Docker on Synology DSM
Port Configuration
![Synology Docker Port Configuration](docs/synology_docker_config_ports_screenshot.png)
- 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
![Synology Docker Volume Configuration](docs/synology_docker_config_volumes_screenshot.png)
- 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.