If you’ve ever tried self-hosting FOSS tools, you’d definitely recognize Jellyfin, Immich, Calibre-Web, Paperless-ngx, Nextcloud, and a couple of other generic media servers. After all, applications designed to help you organize archived media are the most common utilities you’ll find on most home labs. However, there are plenty of cool services that fly under the radar for most folks, as they're specialized for niche tasks.
Take Navidrome, for example. As an audiophile who lives with music lovers, it’s an essential part of my setup because it’s a private streaming hub for all the CDs and vinyl records I’ve collected over the years – all while letting me share the massive collection of MP3 files with my folks. With a recent update adding plugin support to Navidrome, it’s possible to integrate certain Spotify-like features that aren’t natively available on the app.
6 tools to improve your digital life you didn't know you could self-host
If you're looking for something new to host on your home lab, then these options might surprise you.
Navidrome plugins offer some neat QoL facilities
You can now pull playlists from music platforms (or even generate them with LLMs)
Technically, Navidrome lets you create custom playlists, distribute them with other users, import .mpu files, and even sync them with client apps. However, it doesn’t support the prompt-powered AI-generated playlists on Spotify. Although you can design “smart playlists” that dynamically update themselves via JSON documents, you’ll still have to import community-created playlists manually, which can be a chore when you want new song collections every week.
Although the Navidrome plugins collection on GitHub is somewhat limited at the moment, there are certain community-created additions that can tackle your playlist woes. True to its name, the ListenBrainz Daily Playlist Importer automatically pulls the latest playlists from ListenBrainz, a FOSS data provider for music lovers that doesn’t sell your listening habits to random companies.
As someone with rather niche tastes spanning different genres (and even languages), my favorite plugin has to be AudioMuse-AI Navidrome, which brings similar AI-curated playlists as Spotify without the info-gathering shenanigans of the latter. If you’ve never heard of it, AudioMuse AI is another self-hosted service that, instead of organizing media files, uses sonic analysis to detect similar-sounding MP3s, and it can even find songs that can serve as a bridge between two tracks. With the Navidrome plugin, it can generate playlists using simple prompts, and you can pair it with Ollama-based LLMs for a completely private audiophile setup. Of course, it adds extra steps to the initial setup procedure, but since I’ve already got dedicated server nodes for containers and an Ollama LXC running in the background, it’s not a lot of hassle for yours truly.
There are even plugins for Discord integration and metadata updates
Besides the playlist-centric plugins, the Navidrome community has also come up with two other handy add-ons for the music-streaming tool. For example, the Artist NFO Metadata plugin can import XML files containing details about the artist into your Navidrome instance, which can be extra helpful for Kodi users with entire folders of these sidecar documents.
The Discord Rich Presence is another neat plugin, though it’s more cosmetic in nature compared to the other options. Similar to the way Spotify adds the stats for the currently playing track to your Discord status, this slick plugin pairs your Navidrome instance with Discord to showcase the artist’s name, album art, and song progress for your self-hosted music collection. The best part? If you’ve got multiple users accessing the Navidrome instance, you can configure this plugin for their Discord accounts.
3 Jellyfin clients that finally make it look as good as Plex and Spotify
Make the interface of your media clients better for what you actually use them for
Installing the plugins is pretty straightforward
But some plugins can be more challenging to configure than others
On the surface, adding plugins to Navidrome is fairly straightforward: once you’ve downloaded the .ndp files of your chosen add-on, you can transfer them to the /plugins directory of your Navidrome instance’s data folder, and restart the platform. Well, some plugins require extra environment variables, but they’re fairly simple to add.
The extra effort comes from the configuration process for each plugin, as you often have to look into extra utilities. I’ve already mentioned all the legwork required to set up the AudioMuse AI plugin, and while you can look into LLM platforms if you don’t have a spare GPU, you’ll need to deploy another container for the app. Meanwhile, the ListenBrainz Daily Playlist Importer requires music files with MBIDs, while the Discord integration involves creating a new Developer application. It’s not difficult for self-hosting enthusiasts, but it’s easy to feel lost when you’re a newcomer to containers and home servers.
Navidrome is still not a Spotify replacement for the average Joe
As much as I adore the new plugin support on Navidrome, I have to get this off my chest before I conclude the article: Navidrome can be a solid Spotify alternative when you’re a data hoarder with thousands of archived music files and have a lot of experience with FOSS utilities. That’s low-key how I’ve used Navidrome ever since I encountered it while looking for cool tools to deploy on my Raspberry Pi. But considering that Navidrome only plays your own files (and Internet radios), you can’t access anything outside your collection and won’t find new tracks the same way you would on Spotify. As such, you're better off running Navidrome alongside Spotify for a while before canceling your subscription.
