Self hosted music server using Navidrome

Image


I've always been a fan of having my music files on my own hardware. On my old computer, extracting CDs and putting the MP3 files on my phone was the norm. Then, music streaming services arrived and I kept using my trustworthy SD cards. But when phones slowly stopped having SD card slots, I switched to Deezer. I used it for a while but some things about it, especially the lack of personnalization options, were bothering me.


As a result, now that I have my pfSense servers and a stable, fast VPN connection, I decided to go back to my roots and host my own music server.



Navidrome

Navidrome is an open source media streamer. It's very easy to install on a Linux machine and then run it as a systemd service. There is a bit of configuration to do in a text configuration file, where multiple options can be set. In its very minimal form, only the path to where the songs are on the machine can be set.


This streamer is compatible with the widely used subsonic API, so there are a lot of clients to choose from to connect to the server, whether it's on a smartphone or computer. It can handle very large collections without any issues, and can also transcode on the fly. It's also lightweight enough to run on a raspberry pi.


On my phone, I use an app called Symfonium to connect to it. It has a ton of personnalization options that I really missed when going with Deezer. On my computer I use Sonixd, which is very good as well.