{"id":19965675,"url":"https://github.com/realies/soulseek-docker","last_synced_at":"2025-04-12T19:50:29.636Z","repository":{"id":29482969,"uuid":"121822200","full_name":"realies/soulseek-docker","owner":"realies","description":"⛴ Soulseek Docker Container","archived":false,"fork":false,"pushed_at":"2025-02-28T14:51:56.000Z","size":1310,"stargazers_count":234,"open_issues_count":1,"forks_count":37,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-12T19:50:16.240Z","etag":null,"topics":["container","docker","novnc","slsk","soulseek","tigervnc","vnc","web","xtigervnc"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/realies/soulseek","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/realies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-17T02:47:57.000Z","updated_at":"2025-04-11T14:06:53.000Z","dependencies_parsed_at":"2023-12-04T19:46:28.550Z","dependency_job_id":"41fbb9c4-65af-4cde-a7a2-42f9fb0617b3","html_url":"https://github.com/realies/soulseek-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realies%2Fsoulseek-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realies%2Fsoulseek-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realies%2Fsoulseek-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realies%2Fsoulseek-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/realies","download_url":"https://codeload.github.com/realies/soulseek-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625501,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","docker","novnc","slsk","soulseek","tigervnc","vnc","web","xtigervnc"],"created_at":"2024-11-13T02:30:04.170Z","updated_at":"2025-04-12T19:50:29.610Z","avatar_url":"https://github.com/realies.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Soulseek Docker Container\n\n[![GitHub Last Commit](https://img.shields.io/github/last-commit/realies/soulseek-docker?style=flat-square\u0026logo=git\u0026label=last%20commit)](https://github.com/realies/soulseek-docker/commits/main)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/realies/soulseek-docker/build.yml?style=flat-square\u0026logo=github\u0026label=build)](https://github.com/realies/soulseek-docker/actions)\n[![Docker Pulls](https://img.shields.io/docker/pulls/realies/soulseek?style=flat-square\u0026logo=docker\u0026label=pulls)](https://hub.docker.com/r/realies/soulseek)\n[![Docker Image Size](https://img.shields.io/docker/image-size/realies/soulseek?style=flat-square\u0026logo=docker\u0026label=size)](https://hub.docker.com/r/realies/soulseek)\n\n![Soulseek Docker Container Screenshot](https://i.snag.gy/8dpAbV.jpg)\n\n## Prerequisites\n\n- Docker installed on your machine or server\n- Port 6080 open and accessible for noVNC web access (or reverse proxied, nginx example at `soulseek.conf`)\n- Ports required by Soulseek open and forwarded from your router to the Docker host machine\n\n## Setup\n\n1. Map port 6080 on the host machine to port 6080 on the Docker container.\n\n- If using a GUI or webapp (e.g., Synology) to manage Docker containers, set this configuration option when launching the container from the image.\n- With Docker CLI, use the `-p 6080:6080` option.\n\n2. Map the ports Soulseek uses on the Docker container.\n\n- The first time it runs, Soulseek starts up using a random port. It can also be manually configured in Options -\u003e Login.\n- 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 -\u003e General.\n- 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.\n\n3. Launch the Docker container and map the required volumes (see [How to Launch](#how-to-launch) section below).\n\n4. 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.\n\n## Configuration\n\nThe container supports the following configuration options:\n\n| Parameter       | Description                                                                   |\n| --------------- | ----------------------------------------------------------------------------- |\n| `PGID`          | Group ID for the container user (optional, requires `PUID`, default: 1000)    |\n| `PUID`          | User ID for the container user (optional, requires `PGID`, default: 1000)     |\n| `VNC_PORT`      | Port for VNC server (optional, default: 5900)                                 |\n| `NOVNC_PORT`    | Port for noVNC web access (optional, default: 6080)                           |\n| `MODIFY_VOLUMES`| Modify ownership and permissions of mounted volumes (optional, default: true) |\n| `UMASK`         | File permission mask for newly created files (optional, default: 022)         |\n| `VNCPWD`        | Password for the VNC connection (optional)                                    |\n| `VNCPWD_FILE`   | Password file for the VNC connection (optional, takes priority over `VNCPWD`) |\n| `TZ`            | Timezone for the container (optional, e.g., Europe/Paris, America/Vancouver)  |\n\n## How to Launch\n\n### Using Docker Compose\n\n```yaml\nversion: \"3\"\nservices:\n  soulseek:\n    image: realies/soulseek\n    container_name: soulseek\n    restart: unless-stopped\n    volumes:\n      - /persistent/appdata:/data/.SoulseekQt\n      - /persistent/downloads:/data/Soulseek Downloads\n      - /persistent/logs:/data/Soulseek Chat Logs\n      - /persistent/shared:/data/Soulseek Shared Folder\n    environment:\n      - PGID=1000\n      - PUID=1000\n    ports:\n      - 6080:6080\n      - 61122:61122 # example listening port, check Options -\u003e Login\n      - 61123:61123 # example obfuscated port, check Options -\u003e Login\n```\n\n### Using Docker CLI\n\n```bash\ndocker run -d --name soulseek --restart=unless-stopped \\\n  -v \"/persistent/appdata\":\"/data/.SoulseekQt\" \\\n  -v \"/persistent/downloads\":\"/data/Soulseek Downloads\" \\\n  -v \"/persistent/logs\":\"/data/Soulseek Chat Logs\" \\\n  -v \"/persistent/shared\":\"/data/Soulseek Shared Folder\" \\\n  -e PGID=1000 \\\n  -e PUID=1000 \\\n  -p 6080:6080 \\\n  -p 61122:61122 \\ # example listening port, check Options -\u003e Login\n  -p 61123:61123 \\ # example obfuscated port, check Options -\u003e Login\n  realies/soulseek\n```\n\n### Using Docker on Synology DSM\n\nPort Configuration\n\n![Synology Docker Port Configuration](docs/synology_docker_config_ports_screenshot.png)\n\n- Port 6080 is used by noVNC for accessing Soulseek from your local network. Only TCP type is needed.\n- Ports 61122 and 61123 are examples; open Soulseek to determine the exact ports to forward. Only TCP type is needed.\n- Configure these ports to forward from your router to the machine hosting the Docker image. See the Soulseek Port Forwarding Guide for more details.\n\nVolume Configuration\n\n![Synology Docker Volume Configuration](docs/synology_docker_config_volumes_screenshot.png)\n\n- Mount the required directories for Soulseek data persistence.\n- The example mounts an extra directory `/music/FLAC` for sharing; mount the directory you want to share.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealies%2Fsoulseek-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frealies%2Fsoulseek-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frealies%2Fsoulseek-docker/lists"}