I use Navidrome [1] + an rclone'd S3 bucket on a Digital Ocean droplet. Works quite well for my purposes!
[1] https://github.com/navidrome/navidrome