-
Notifications
You must be signed in to change notification settings - Fork 0
Extras
Optional services are Compose profiles. The one-click installer only prompts for Discord bot and Cloudflare Tunnel. Redis and Meilisearch live in the repo docker-compose.yml and are not written into /opt/sounddock unless you add them yourself.
Work from /opt/sounddock after install (docker compose + .env there).
Plays from your SoundDock library only (no Lavalink, YouTube, or Spotify ripping).
During install: answer y to “Enable native Discord bot worker”. You can paste a bot token then, or set it later.
After install:
-
Put the bot token in
/opt/sounddock/.env:SOUNDDOCK_DISCORD_BOT_TOKEN=...or set it in Admin → Integrations → Discord.
-
Start the profile:
cd /opt/sounddock docker compose --profile discord up -d -
In the web UI use Invite SoundDock Bot (do not hand-build OAuth URLs).
-
Link accounts with
/linkin Discord, then complete the challenge in the web UI. Never type SoundDock credentials into Discord.
The worker uses the same image as the API (command: ["discord"]).
Expose SoundDock without opening a port.
-
Create a tunnel in the Cloudflare Zero Trust dashboard and copy the token.
-
During install: paste the token when asked.
-
After install: add to
.env:CLOUDFLARE_TUNNEL_TOKEN=... SOUNDDOCK_PUBLIC_URL=https://your-hostname SOUNDDOCK_COOKIE_SECURE=trueThen:
cd /opt/sounddock docker compose --profile cloudflare up -d -
Point the tunnel at the
sounddockservice port8080. Update the Discord OAuth redirect tohttps://your-hostname/api/v1/auth/discord/callback.
The installer bind-mounts a host directory to /libraries:ro. Default: /opt/sounddock/libraries.
- Drop files there, then add a library in the UI that points at
/libraries(or a subfolder). - To change the host path later, set
SOUNDDOCK_LIBRARY_HOSTwhen running Compose, or edit the volume indocker-compose.yml.
Not in the one-click compose file. With a git checkout:
# .env
SOUNDDOCK_REDIS_URL=redis://redis:6379/0
docker compose --profile redis up -dOptional search backend. With a git checkout:
# .env
SOUNDDOCK_MEILISEARCH_URL=http://meilisearch:7700
SOUNDDOCK_MEILISEARCH_KEY=a-long-random-key
docker compose --profile search up -dSOUNDDOCK_METRICS_ENABLED=true
SOUNDDOCK_METRICS_TOKEN=...
Prometheus scrape: /metrics (token required when set).
cd /opt/sounddock
docker compose --profile discord --profile cloudflare up -dInstaller-generated compose does not include Redis/search. Copy those services from the repo docker-compose.yml if you need them on a one-click host.