-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
One command. A whiptail TUI (same idea as Proxmox helper scripts) collects options, installs Docker if needed, writes /opt/sounddock, pulls the published image, and starts SoundDock. You do not need to clone the repo. Do not apt install docker (Debian's docker package is not Docker Engine).
Published image: ghcr.io/skila1/sounddock:latest
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Skila1/SoundDock/main/install.sh)"Use Tab and Enter. Use Spacebar on checklists. Cancel aborts. The wizard asks for public URL, library folder, Discord sign-in, optional bot token, and optional Cloudflare Tunnel.
sudo sounddock status
sudo sounddock update
sudo sounddock logs
sudo sounddock doctor
sudo sounddock uninstall # keeps /opt/sounddock/data
sudo sounddock uninstall --purgeUnattended (defaults / env, no TUI):
sudo env SD_UNATTENDED=1 SD_PUBLIC_URL=https://music.example.com bash -c "$(curl -fsSL https://raw.githubusercontent.com/Skila1/SoundDock/main/install.sh)"Discord OAuth redirect: {PUBLIC_URL}/api/v1/auth/discord/callback. Scopes: identify, plus guilds / guilds.members.read if you later whitelist a server or role.
- Create an app at the Discord Developer Portal.
- Under OAuth2 → Redirects, add
{PUBLIC_URL}/api/v1/auth/discord/callback. - Copy the client ID and secret. Optionally copy your Discord user ID for
SD_ADMIN_DISCORD_ID. - Enable Discord in the installer TUI, or later in Admin → Discord.
In Admin → Discord, two independent toggles:
- Require Discord server (server ID)
- Require Discord role (role ID in that server)
New Discord accounts must pass the enabled checks. Existing accounts and IDs in SD_ADMIN_DISCORD_ID can always sign in. Invite the bot to the server if you require a role.
Copy docker-compose.yml and .env.example to .env. Set SD_IMAGE=ghcr.io/skila1/sounddock:latest. For local admin only, SD_DISCORD_ENABLED=false.
docker compose pull
docker compose up -dPostgreSQL 16 is required. FFmpeg is optional (transcode and Discord audio).
cp .env.example .env
docker compose up -d --build