Gitea copy: $uicide Music Bot — image, Unraid template, CI, publishing
Build and Test / Build and Test (push) Canceled after 1m24s
Build and Test / Build and Test (push) Canceled after 1m24s
Fork of purnell569/MusicBot 0.7.1 (JMusicBot), kept here as a reliable copy with a container image built and served from this Gitea. - README retitled "$uicide Music Bot"; lineage table, Gitea image, Unraid and release instructions. Nothing under src/ changes. - Dockerfile: Maven stage on $BUILDPLATFORM (JAR is arch-neutral, so no QEMU for the build), OCI labels point at this repo and record commit and version via GIT_SHA/VERSION build args. - docker/entrypoint.sh: check the data dir is writable up front (the bot's own error for that is a misleading "another instance is running"), and on a missing config.txt run the bot's generate-config and stop with instructions instead of prompting on a console that does not exist. - deploy/unraid/musicbot.xml: Unraid template, --user 99:100 default. - .gitea/workflows/build-and-test.yml: mvn verify + docker build on push; its presence makes Gitea ignore the GitHub-only workflows in .github/. - scripts/build-and-publish-unraid.sh + docs/PUBLISHING.md: release runbook (keychain-safe registry push, release with zipped JAR). - docker-compose.example.yml points at the Gitea image. Upstream's v0.7.1 tag is preserved as upstream/v0.7.1; this repository's own release tag v0.7.1 is on this commit. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
9991962e86
commit
e772eb7c2b
8 files changed
+731
-249
No files matched your search
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Unraid Docker template for $uicide Music Bot.
|
||||
|
||||
Drop this into /boot/config/plugins/dockerMan/templates-user/ on the Unraid
|
||||
box, or add the repo as a template repository under Docker → Add Container.
|
||||
|
||||
Bridge networking is correct: the bot only makes outbound connections (to
|
||||
Discord and to the audio sources) and listens on nothing, so no ports are
|
||||
published and there is no web UI.
|
||||
-->
|
||||
<Container version="2">
|
||||
<Name>MusicBot</Name>
|
||||
<Repository>gitea.milesward.dev/mward4/musicbot:latest</Repository>
|
||||
<Registry>https://gitea.milesward.dev/mward4/-/packages/container/musicbot</Registry>
|
||||
<Network>bridge</Network>
|
||||
<MyIP/>
|
||||
<Shell>sh</Shell>
|
||||
<Privileged>false</Privileged>
|
||||
<Support>https://gitea.milesward.dev/mward4/MusicBot/issues</Support>
|
||||
<Project>https://gitea.milesward.dev/mward4/MusicBot</Project>
|
||||
<Overview>
|
||||
$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.
|
||||
</Overview>
|
||||
<Category>MediaApp:Music Tools:</Category>
|
||||
<WebUI/>
|
||||
<TemplateURL>https://gitea.milesward.dev/mward4/MusicBot/raw/branch/main/deploy/unraid/musicbot.xml</TemplateURL>
|
||||
<Icon>https://i.imgur.com/zrE80HY.png</Icon>
|
||||
<ExtraParams>--user 99:100</ExtraParams>
|
||||
<PostArgs/>
|
||||
<CPUset/>
|
||||
<DateInstalled/>
|
||||
<DonateText/>
|
||||
<DonateLink/>
|
||||
<Requires>
|
||||
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.
|
||||
</Requires>
|
||||
<Config Name="Data" Target="/musicbot"
|
||||
Default="/mnt/user/appdata/musicbot"
|
||||
Mode="rw"
|
||||
Description="config.txt, serversettings.json and Playlists/. Generated on first run; edit config.txt here to add your bot token."
|
||||
Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/musicbot</Config>
|
||||
<Config Name="JAVA_OPTS" Target="JAVA_OPTS" Default="-XX:+UseZGC -XX:+AlwaysPreTouch"
|
||||
Mode=""
|
||||
Description="JVM flags. The default is ZGC with pre-touched memory for stutter-free audio. Add -Xms/-Xmx to cap the heap, e.g. -Xms256m -Xmx512m -XX:+UseZGC -XX:+AlwaysPreTouch"
|
||||
Type="Variable" Display="advanced" Required="false" Mask="false">-XX:+UseZGC -XX:+AlwaysPreTouch</Config>
|
||||
</Container>
|
||||
Reference in new issue
Block a user