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