Skip to main content

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!