What is Discodrome?#
Discodrome is a Discord bot designed to stream music from Subsonic-compatible servers (like Navidrome) into Discord voice channels.
For comprehensive setup notes and the source code, please refer to the official GitHub repository.
Docker Compose Example#
# discodrome - https://github.com/7eventy7/discodrome
services:
discodrome:
image: 7eventy7/discodrome:latest
container_name: discodrome
restart: unless-stopped
environment:
# --- Required Variables ---
- SUBSONIC_SERVER=${SUBSONIC_SERVER_URL}
- SUBSONIC_USER=${SUBSONIC_USER}
- SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD}
- SUBSONIC_AUTH_MODE=${SUBSONIC_AUTH_MODE} # 'token' or 'plaintext'
- DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN}
- DISCORD_TEST_GUILD=${DISCORD_TEST_GUILD} # SERVER ID
- DISCORD_OWNER_ID=${DISCORD_OWNER_ID}
# --- Optional: Bot Customization ---
- BOT_STATUS=Listening to Music # The "Activity" text shown under the bot's name
#- BOT_PREFIX=! # Prefix for non-slash commands
- BOT_COLOR=#6a329f # Embed color in Hex (default is Discord Blurple)
#- BOT_LANGUAGE=en # Language for the interface
# --- Optional: Music Behavior ---
#- DEFAULT_VOLUME=50 # Initial volume (0-100)
#- MAX_PLAYLIST_SIZE=500 # Limits how many songs can be queued at once
#- INACTIVITY_TIMEOUT=300 # Seconds before bot leaves empty voice channel (default: 300)
# --- Optional: Logging & Performance ---
#- LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
#- CACHE_SIZE=100 # Number of tracks to cache metadata for
- BOT_SEARCH_SUGGESTION_COUNT=10Features#
- Subsonic Integration: Works seamlessly with Navidrome and other Subsonic servers.
- Slash Commands: Modern Discord interaction.
- Performance: Metadata caching for snappy search suggestions.
- Customizable: Adjustable bot status, embed colors, and volume defaults.
Common Slash Commands#
/play [query]: Searches your Subsonic server and plays the result in your current voice channel./queue: Displays the currently playing song and upcoming tracks./skip: Skips the current track./stop: Stops playback, clears the queue, and disconnects the bot./pause//resume: Pauses or resumes playback./volume [level]: Adjusts the bot’s volume.
