This page is essentially a list of tools that I use with short commentary on how to use them - it does not include philosophy on personal cloud streaming vs commercial streaming platforms, or reasons on why I chose one tool over another (I am not experienced enough to give insight - most of of the time I chose a tool because I was either following a guide or it was the first one that I found that I liked). This page is also not a step-by-step guide, but all the tools listed are either straightforward to use or have easily accessible tutorials elsewhere.
I based my setup off of this one. I recommend checking it that guide for more high-level thoughts.
My priority order is:
When buying music on Qobuz, I recommend chosing the highest quality possible. While this does increase the disk usage of your library, it doesn't increase your cellular data usage when you're listening to music on your phone unless you want it to - you can set up your streaming client to automatically transcode your music when you're on a cell network to a lower-quality format to save data.
Your music may already come with metadata, but you can likely add more (or any, if it's missing metadata) using MusicBrainz Picard. It's a free program that's straightforward to use once you figure out what you're looking at.
There are three panels in Picard. The left panel is where you drop your files (or you can click "Add Folder..." or "Add Files..." to populate the panel). After dragging in all the music you want to process, click "Cluster" to sort the music into albums. Then click "Lookup", and Picard will try to associate each track with one that's in the MusicBrainz database, which is shown in the right panel. If it can't find a track, or if it mis-identifies a track, you can click "Lookup in Browser" to search around the website for the track you're looking for, and then there's a button on the website to link the track once you've found the right one. If the track isn't on MusicBrainz, you can add it and come back and link afterwards, but that's a more lengthy process, so I won't cover it here (and there are tutorials online).
In the bottom panel, you can compare the metadata on the file currently to the metadata after Picard has done its work. If it looks good, select the track (or multiple at once) in the right panel and click "Save", which saves the metadata to the track. This is a non-reversible process, so you may want to have a backup of your files before you click this button. Once you're done with a track (or multiple), if you want to clean up your workspace, select the tracks in the right panel and click "Remove". This just removes them from the view, it doesn't alter the files.
I use a PikaPod running Navidrome. PikaPods is a service for hosting apps in the cloud. You pay by how much disk space you've requested, how much memory you've requested, and how many CPU cores you use. The model is that you put money into a pile, which PikaPods slowly drains, and then you put more money into the pile when it runs low or whenever you want. You can set it up to automatically charge your card when you're low. I have mine set up so that when the pile falls below $2, it adds $15 from my debit card and sends me an email. PikaPods also gives you an estimated monthly cost for your usage, which for me, with 50 GB of disk space, 1 GB of memory, and 2 CPU cores is $4.57 (in 2026).
Navidrome is an app for accessing your music library. It handles organization, transcoding, and also provides a web interface for playing your library. You can install Navidrome into a PikaPod by choosing Navidrome when you make a new "pod". You don't need to do anything with Navidrome after that, unless you want to customize things, which you can find guides for online.
To upload music to my Navidrome PikaPod, I use FileZilla, which is a little more complicated than Picard, but you don't need to use many of its features. To connect to the PikaPod, input into Filezilla the hostname, username, port, and password you can find when you click on your pod's settings cog and then Files (you may need to toggle on "Enable SFTP Access"). Then click "Quickconnect". In the left panel, navigate to where your music is on your computer, and in the right panel, navigate to the "music" directory (you may have to create it - right click on "/" and click "Create directory"). Then, select everything you want to upload in the left panel, right click, and click "Upload". Your music should appear in the right panel, indicating that it got to the PikaPod.
There are a number of options for listening to music via Navidrome, which you can find here.
On desktop, I just listen using the Navidrome browser interface, which you can get to by clicking "Open Pod" from your PikaPods pod list.
On my iPhone, I use Arpeggi. It's still in development (as of March 2026), but it's fully functional, and also well designed and extremely configurable (I guess they're just adding new features and bugfixing). You'll need to install it with the TestFlight link. To connect to your PikaPod, go into settings and add the server URL, your username, and your password.
I recommend going into Settings, clicking "Playback", then scrolling to "Transcoding" and turning the cellular transcoding option to MP3 at 128 kbps to save data. I also recommend toggling on "Pre-Cache Songs" so that you won't have to wait for the next song to load at the end of the current one.