-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
One command. A whiptail TUI (same idea as Proxmox helper scripts) writes a Docker Compose project (default /opt/sounddock). Docker publishes port 8080. Optional Cloudflare Tunnel is how you get a public hostname. You do not set an IP. Discord is not asked at install. Do not apt install docker.
Published image: ghcr.io/skila1/sounddock:latest
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Skila1/SoundDock/main/install.sh)"The installer writes docker-compose.yml and .env into the install directory (default /opt/sounddock). Use an absolute path. ~/sounddock is expanded to /root/sounddock when you are root. Run Compose from that directory. Cloudflared, if enabled, is a systemd service. Point the tunnel at http://localhost:8080.
Open http://<host>:8080 and create the first local administrator. Configure Discord later under Admin → Discord (client ID, secret, sign-in toggle, bot). The page shows the OAuth redirect URL to paste into the Discord developer portal. If Discord sign-in is on and there is not already an administrator, the first Discord user becomes administrator.
cd /opt/sounddock
docker compose ps
docker compose logs -f
docker compose down
docker compose pull && docker compose up -dUnattended:
sudo env SD_UNATTENDED=1 bash -c "$(curl -fsSL https://raw.githubusercontent.com/Skila1/SoundDock/main/install.sh)"- Create an app at the Discord Developer Portal.
- Copy the OAuth redirect from Admin → Discord into OAuth2 → Redirects.
- Paste client ID and secret there, turn on sign-in.
In Admin → Discord, two independent toggles for new Discord accounts: require server, require role. Existing users and the first Discord administrator are not blocked.
Copy docker-compose.yml and .env.example to .env. Set SD_IMAGE=ghcr.io/skila1/sounddock:latest. Leave Discord out of .env.
docker compose pull
docker compose up -d