My current setup is to have all of my music hosted on my Jellyfin server and streamed to whatever device I'm currently using. It can be a player as well as an organizer (kinda). Your setup can be as simple or a complicated as you want.
For iOS I recommend FinAmp as a good music player. FinAmp is ugly but it's actually quite good. It also is almost useless without a Jellyfin server to connect to. Jellyfin's web interface is better, but doesn't play well with iOS killing background apps constantly.
For discovering music I use a mix of Spotify and ListenBrainz.
And finally for acquiring music, Band Camp is usually my first stop, followed by Amazon. spotdl is a good app for downloading songs from your Spotify playlists to your storage nas, but the legality of it varies.