baton-server
registry.gitlab.com/crazyteddy00/baton/baton-server:latest
https://gitlab.com/Crazyteddy00/baton/container_registry
bridge
false
https://gitlab.com/Crazyteddy00/baton/-/issues
https://gitlab.com/Crazyteddy00/baton
Baton is a self-hosted music server with its own apps. This is the server, and the container most people install: it scans your music folder, streams it to the Baton apps, and keeps users, favourites, play counts and playlists in its own database. Live sync between your devices is built in.
The other two Baton containers are optional. baton-worker downloads the music people ask for with Want in the app; install it only if you want that, and it connects to this server's Worker port (4534, under Show more settings). baton-sync is only for people who keep Navidrome as their music server instead; never install it next to this one.
Before the first start, fill in the Secret key and the first admin name and password. The Android app needs HTTPS (the desktop apps accept http:// on your LAN, but unencrypted), so put a reverse proxy or tunnel with HTTPS in front of the Web port, at an address of its own such as https://music.example.com/. It must pass WebSocket upgrades through for live sync. The WebUI link opens the /download page, where your devices can get the apps.
You don't need to create or chown any folders. On start the container creates App data, hands it (and the Download inbox) to PUID:PGID, 99:100 by default, and then runs as that user. It never changes the owner of your music.
MediaApp:Music
http://[IP]:[PORT:8080]/download
https://raw.githubusercontent.com/Crazyteddy00/unraid-templates/main/baton-server.xml
https://gitlab.com/Crazyteddy00/baton/-/raw/main/docs/brand/baton-server.png
8080
4534
/mnt/user/data/media/music
/mnt/user/appdata/baton-server
/mnt/user/data/media/inbox
on
2048
Crazyteddy00/baton
/music
/inbox
99
100