Drop the beat. Control the vibe.
High-quality audio powered by Lavalink.
Everything you need for the ultimate music experience
Crystal-clear playback powered by Lavalink with minimal latency and robust connection management.
Browse results with navigation buttons, select multiple tracks, and build your perfect queue.
Modern Discord.js v14 slash commands with auto-completion and parameter validation.
Built-in support for English, Spanish, Turkish, and Italian with easy extensibility.
Rich embeds with interactive buttons for complete playback control.
Deploy instantly with Docker Compose using official pre-built images.
Flexible permission system with admin override and role-based access control.
Smart track resolution with ISRC matching for accurate Spotify playback.
No database required - perfect for containerized deployments.
No self-hosted Lavalink needed. Automatically connects to free public servers with automatic failover.
Continuous music playback that automatically finds and plays related tracks when your queue ends.
17 powerful slash commands at your fingertips
/play
Essential
Play music from URL or search query
/play Rick Astley Never Gonna Give You Up
/pause
Control
Toggle pause/resume playback
/skip
Playback
Skip to the next track in queue
/back
Playback
Play the previous track from history
/stop
Stop
Stop playback and disconnect
/volume
Control
Adjust playback volume (1-100)
/volume 75
/filter
Interactive
Apply audio effects and EQ presets
/search
Interactive
Interactive search with pagination and multi-selection
/search ambient music
/lyrics
Info
Show lyrics for the currently playing song
/queue
Info
Display current queue with pagination
/clear
Clear
Clear the entire queue
/shuffle
Shuffle
Shuffle the current queue randomly
/autoplay
Toggle
Toggle autoplay for continuous related tracks
/loop
Toggle
Cycle: off → track → queue
/nowplaying
Info
Show current track details
/invite
Info
Get a link to invite BeatDock to your server
/about
Info
Display bot info, stats, version, and system details
Get BeatDock running in 4 simple steps
Enable these in Discord Developer Portal → Bot → Privileged Gateway Intents:
docker compose down
docker compose restart
docker compose logs -f
docker compose pull && docker compose up -d
Solutions for known platform-specific problems
Raspberry Pi 5 (Debian 13) may use a 16KB memory page size, which is incompatible with Lavalink's DAVE encryption library (libdave.jvm.so), compiled for 4KB pages.
1. Check your page size:
If the result is not 4096:
2. Fix by switching to a 4KB kernel:
Complete configuration reference
TOKEN
Discord bot token from Developer Portal
LAVALINK_HOST
lavalink
Lavalink server hostname
LAVALINK_PORT
2333
Lavalink server port
LAVALINK_PASSWORD
youshallnotpass
Lavalink server password
SPOTIFY_ENABLED
false
Enable Spotify integration
SPOTIFY_CLIENT_ID
Spotify application client ID
SPOTIFY_CLIENT_SECRET
Spotify application client secret
DEFAULT_LANGUAGE
en
Default language (en/es/tr/it)
DEFAULT_VOLUME
80
Default playback volume (0-100)
ALLOWED_ROLES
empty
Comma-separated role IDs (empty = everyone)
AUTOPLAY_DEFAULT
false
Enable autoplay by default when music starts
QUEUE_EMPTY_DESTROY_MS
30000
Leave after queue empty (ms)
EMPTY_CHANNEL_DESTROY_MS
60000
Leave empty channel after (ms)
DEFAULT_SEARCH_PLATFORM
ytmsearch
Default search platform (ytsearch, ytmsearch, etc.)