MusicBot
gitea.milesward.dev/mward4/musicbot:latest
https://gitea.milesward.dev/mward4/-/packages/container/musicbot
bridge
sh
false
https://gitea.milesward.dev/mward4/MusicBot/issues
https://gitea.milesward.dev/mward4/MusicBot
$uicide Music Bot - a self-hosted Discord music bot with a clean interface.
A fork of JMusicBot (jagrosh, maintained by arif-banai, YouTube playback
fixed by purnell569), built from source and served from this Gitea.
FIRST RUN: start the container once with an empty data folder. It writes
a default config.txt there and stops. Edit that file - in the discord { }
block set token (your Discord bot token) and owner (your Discord user ID)
- then start the container again. Playlists/ and serversettings.json live
in the same folder. If the log says "/musicbot is not writable by uid 99",
run chown -R 99:100 /mnt/user/appdata/musicbot from the Unraid terminal
and start again.
DISCORD SIDE: create an application at discord.com/developers, add a Bot,
and under Privileged Gateway Intents turn ON "Message Content Intent". The
bot will not see commands without it. Invite it to your server with the
bot scope.
PERMISSIONS: Extra Parameters runs the bot as Unraid's usual nobody:users
(99:100), so a freshly created appdata folder just works with no chown
step. Remove the --user flag to run as the image's own non-root user
(10001) instead; then chown -R 10001:10001 the data folder once.
VERSIONS: :latest is the newest release. Every release also has its own
image tag (e.g. 0.7.1) that can be pinned instead; the Releases page on
Gitea lists them with notes. Java 25 and glibc 2.38+ are inside the image,
nothing to install on the host.
MediaApp:Music Tools:
https://gitea.milesward.dev/mward4/MusicBot/raw/branch/main/deploy/unraid/musicbot.xml
https://i.imgur.com/zrE80HY.png
--user 99:100
A Discord bot token (discord.com/developers) with the Message Content
Intent enabled, and your Discord user ID for the owner setting. Both go
into config.txt in the data folder after the first run.
/mnt/user/appdata/musicbot
-XX:+UseZGC -XX:+AlwaysPreTouch