Juuz
An OpenSubsonic server written in Rust with song uploads and OpenMusicMetadata tagging.

Juuz is an OpenSubsonic server written in Rust. If you have ever used something like Navidrome you already know the idea, you point it at your music folder and then listen to your library from any Subsonic compatible app like Feishin. It’s basically just a Navidrome replacement, with one difference.
It all started because we dropped the OpenMusic API. We planned it alongside Vleer but if we’re completely honest it wasn’t very useful, it was just an OpenSubsonic copy without any of the adoption. That doesn’t mean OpenMusicMetadata is gone though, that is actually going to be the main focus of Vleer. So instead of building a worse copy of a standard I decided to just build on the one that already exists and add the thing we wanted on top.
That thing is an upload extension (juuzSongUpload, served from the juuzUploadSong endpoint). It lets an app send a song to the server together with its metadata, so title, artist, album, cover and lyrics, and the server writes the tags, puts the file in the right folder and has it in your library right away.
curl -F file=@track.flac \
"http://localhost:4533/rest/juuzUploadSong?f=json&apiKey=$KEY&title=Song&artist=Artist&album=Album&track=1&year=2020"
In the future Vleer will use this so a song you download doesn’t just sit on your laptop but goes straight to your server and shows up in every app you use. And in the end the reason you have a music server is to have your library accesiable on multiple devices.
I was able to copy a lot of code over from Vleer becasue it’s pretty similar or uses similar components. Songs are identified by their audio so renaming or moving a file doesn’t lose your stars and playlists, missing years, genres and artwork get filled in through OpenMusicMetadata without touching your files, and transcoding to Opus, MP3 and AAC is done in pure Rust so you don’t need ffmpeg. There is also Last.fm scrobbling, synced lyrics and a little terminal-style web UI for stats and user management.
I released v0.1.0 not long ago so it’s still very fresh, but if you already use Navidrome or something similar give it a try and tell me what breaks.
If you’re wondering about the name, “juuz” is a Swiss German word. It’s the loud call people used in the mountains to signal to each other and to call their cattle, and it’s the thing the yodel is actually based on. Today it’s also just the joyful shout you let out when you’re happy, and the verb “juuzä” basically means to yodel. Music that you yell across a valley fits a music server streaming to a client :).
- created
- 2026-10-15