I'm pretty sure both lyrion music server and music assistant can do it.
I'd recommend implementing the squeezebox protocol if you were to go this route. There's already a ton of clients and it also handles multi-room audio.
Here's the music assistant implementation for reference: https://github.com/music-assistant/server/tree/stable/music_...