Currently I'm using Jellyfin (since I already use it for other stuff), but it isn't ideal. No option to download entire albums easily, and if the server is offline then I can't even use the music downloaded to my phone.
Lidarr to dl and plex/plexamp for listening. No issues so far. Haven't got to use sonic analysis yet but it's interesting that you could choose 2 songs and it will use sonic analysis to make a Playlist bridging between the two.