-
Notifications
You must be signed in to change notification settings - Fork 0
Extras
Optional pieces: Cloudflare Tunnel is a systemd service. The Discord bot is a Compose profile started later. Redis and Meilisearch are in the repo compose file only.
Work from /opt/sounddock after install.
The bot plays from your SoundDock library. It does not play YouTube or Spotify.
After install:
-
Paste the bot token in Admin → Discord.
-
Add
discordtoCOMPOSE_PROFILESin/opt/sounddock/.env, then:cd /opt/sounddock docker compose up -d -
In the web UI, use Invite SoundDock Bot. Do not invent OAuth URLs by hand.
-
In Discord, run
/linkand finish the challenge in the web UI. Never type SoundDock credentials into Discord.
Use this to publish SoundDock without opening a port on the host. Cloudflared runs as a systemd service on the host (not Docker), so http://localhost:8080 is the published SoundDock port.
-
Create a tunnel in Cloudflare Zero Trust. Set the origin to
http://localhost:8080. Copy the token. -
During install, paste the token when asked, or later:
sudo cloudflared service install <token> sudo systemctl enable --now cloudflared sudo systemctl status cloudflared
-
Discord OAuth redirect (after you enable Discord in Admin):
https://your-hostname/api/v1/auth/discord/callback.
Default: /opt/sounddock/libraries, mounted read-only at /libraries.
Put files in that folder, then add a library in the UI that points at /libraries (or a subfolder). To change the host path, set SD_LIBRARY_HOST in /opt/sounddock/.env and run docker compose up -d from that directory.
Only in the repo docker-compose.yml:
# .env
SD_REDIS_URL=redis://redis:6379/0
docker compose --profile redis up -dOnly in the repo docker-compose.yml:
# .env
SD_MEILISEARCH_URL=http://meilisearch:7700
SD_MEILISEARCH_KEY=a-long-random-key
docker compose --profile search up -dSD_METRICS_ENABLED=true
SD_METRICS_TOKEN=...
Scrape /metrics. Send Authorization: Bearer <token> when a token is set.
cd /opt/sounddock
docker compose --profile discord --profile cloudflare up -d