-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
The one-click installer installs Docker if needed, writes /opt/sounddock, pulls the published image, and starts SoundDock. You do not need to clone the repo.
Published image: ghcr.io/skila1/sounddock:latest
-
Create an app at the Discord Developer Portal.
-
Under OAuth2 → Redirects, add:
{PUBLIC_URL}/api/v1/auth/discord/callbackExamples:
http://127.0.0.1:8080/api/v1/auth/discord/callbackorhttps://music.example.com/api/v1/auth/discord/callback -
Scope:
identifyonly. -
Copy the Client ID and Client Secret.
-
Copy your Discord user ID (Developer Mode, right-click your avatar, Copy User ID). That account is administrator (
SOUNDDOCK_ADMIN_DISCORD_ID).
export SOUNDDOCK_IMAGE=ghcr.io/skila1/sounddock:latest
curl -fsSL https://raw.githubusercontent.com/Skila1/SoundDock/main/install.sh | sudo bashYou will be asked for:
| Prompt | What to enter |
|---|---|
| Public URL | The URL you will open in a browser |
| Discord client ID | From the Discord application |
| Discord client secret | From the Discord application |
| Admin Discord user ID | Your user ID (comma-separated for several admins) |
| Host library folder | Folder on the machine mounted at /libraries (default /opt/sounddock/libraries) |
| Native Discord bot worker |
y to enable it now (see Extras) |
| Cloudflare Tunnel token | Paste a token, or leave blank |
Master key and database password are generated for you.
Open the public URL and Continue with Discord. There is no admin password.
Keep install.sh (or download it again). Default install prefix is /opt/sounddock (SOUNDDOCK_PREFIX to change).
sudo bash install.sh status
sudo bash install.sh logs
sudo bash install.sh update
sudo bash install.sh doctor
sudo bash install.sh uninstall # keeps /opt/sounddock/data
sudo bash install.sh uninstall --purge # deletes data and volumesCopy docker-compose.yml and .env.example to .env. Set Discord values and SOUNDDOCK_IMAGE=ghcr.io/skila1/sounddock:latest, then:
docker compose pull
docker compose up -dPostgreSQL 16 is required. FFmpeg is optional (transcode and Discord audio).
cp .env.example .env
# set POSTGRES_PASSWORD, SOUNDDOCK_MASTER_KEY, Discord client ID/secret, SOUNDDOCK_ADMIN_DISCORD_ID
docker compose up -d --buildOr: build the web app (cd web && npm install && npm run build), then go run ./cmd/sounddock all.