Skip to main content

Discodrome

·277 words·2 mins·
Michael
Author
Michael
some dude that works on datacenters, plays guitar, streams, has a lot of side projects and unhealthy addiction to ow

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=10

Features
#

  • 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.