A discord music bot that seamlessly streams music from your personal music server directly to your voice channels. Works great with Navidrome, and other subsonic compatible music servers.
Command | Description |
---|---|
/play |
Plays a specified track |
/disco |
Plays an artist's entire discography |
/queue |
View the current queue |
/clear |
Clear the current queue |
/shuffle |
Shuffles the current queue |
/skip |
Skip the current track |
/stop |
Stop playing the current track |
/autoplay |
Toggles autoplay |
- Go to the Discord Developer Portal
- Click "New Application" and give it a name
- Navigate to the "Bot" tab and click "Add Bot"
- Under the TOKEN section, click "Reset Token" and copy your new token
- Enable the following Privileged Gateway Intents:
MESSAGE CONTENT INTENT
SERVER MEMBERS INTENT
PRESENCE INTENT
- Navigate to "OAuth2" → "URL Generator"
- Select the following scopes:
bot
applications.commands
- Select bot permissions:
Send Messages
Connect
Speak
Use Voice Activity
Read Message History
- Copy the generated URL and paste it in your browser to invite the bot to your server
- Discord Bot Token: From step 1
- Discord Server ID: Right-click your server icon → "Copy ID" (Developer Mode must be enabled in Discord settings)
- Your Discord User ID: Right-click your username → "Copy ID"
- Subsonic Server Details: URL, username, and password for your music server
-
Pull the Docker image:
docker pull 7eventy7/discodrome:latest
-
Run the container with the required environment variables from the configuration section below:
Variable | Description | Required |
---|---|---|
SUBSONIC_SERVER |
URL of your Subsonic server (include http/https) | Yes |
SUBSONIC_USER |
Username for your Subsonic server | Yes |
SUBSONIC_PASSWORD |
Password for your Subsonic server | Yes |
DISCORD_BOT_TOKEN |
Your Discord bot token | Yes |
DISCORD_TEST_GUILD |
Discord server ID where commands will be registered | Yes |
DISCORD_OWNER_ID |
Your Discord user ID | Yes |
BOT_STATUS |
Custom status message for the bot | No |
- Navidrome
- Airsonic
- Subsonic
- Gonic
- Ampache (with Subsonic API enabled)
- Jellyfin (with Subsonic plugin)
- Discord.js v14
- Node.js
- Subsonic API
- Docker
- FFmpeg for audio processing
We welcome contributions! Whether it's:
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📝 Improving documentation
- 🔍 Submitting fixes
- ✨ Adding new features
Please check our GitHub Issues before submitting new ones.
GPL-3.0 license - feel free to use this project for most any purpose.
This project is a fork of Submeister by Gimzie. We've built upon their excellent foundation to add new features and improvements while maintaining the core functionality that made the original project great.