Step 0: Prerequisites For this guide, I will use Navidrome (since it is what I use currently). I will guide you through how to set it up as a server rather than an app, as this is also how I use it, but also because, installing it as an app, especially on Windows, shouldn't be hard.  You'll need a server. This can be anything that can run Linux on it. Old PC, laptop, SBC, anything really. Navidrome is available for: amd64, armv6, armv7 and arm64. If you don't understand what these mean, you probably have an amd64 device. If it is a very old device, like 10-15+ years old, it might be i686, and Navidrome probably won't work. The device doesn't need to be very powerful, it can even run on a Pi Zero . Your server will also have to have remote access set up. A guide on how to setup and secure SSH is coming! You will have to install Docker on your server. Since I don't know which Linux distribution you are running, I can't help with specific commands to run, but  here is the Docker documentation on how to install it. ( explain what docker is? ) You will also need to install  Docker Compose , which is a way to define and run multiple containers using a single configuration file.  Optionally, if you want remote access (i.e. access outside of your network), you will also need: a domain name nginx, as reverse proxy certbot, to handle ssl certificates You will also need patience and/or motivation if you aren't familiar with selfhosting. Selfhosting isn't easy but very much worth it!