Hey guys, so I have been searching for the different ways to self-host a music-server and don’t really know whats the best/most elegant way to go.
I know that there is navidrome and many also use jellyfin for it. Now I have a few questions:
- Are there any good apps for android for navidrome/jellyfin respectively?
- how easy can I add songs to them/do they pull metadata from somewhere (like jellyfin does for movies)
- how do they (or any other options) compare in terms of ease of setup/maintainability?
- do you have any overall recommendations?
Thanks a lot for any tips/recommendations and your help :D
I use navidrome and jellyfin but mostly navidrome. Jellyfin is useful to fetch lyrics.
I like tempo to use navidrome. You can use jellyfin on your phone…I’ve used finamp once…it was good but seemed like useless since I had jellyfin to watch my shows on my phone too.
You can set navidrome to get info from Spotify or musicbrainz. I used both but I can’t really tell which one is better. Spotify seems better at getting artist info but I’m not sure.
Both are pretty much set up and forget.
I’m happy with navidrome and tempo on my phone.
I personally use Navidrome, so everything I suggest will be based around you using that as well, however Jellyfin is probably a good option too.
Navidrome has been incredibly simple, and there are numerous great options on android for player apps. Metadata can come with the music as you get it, or you can use tools like beets or musicbrainz Picard to tag them in bulk. Navidrome has been set-and-forget for me, as I’ve set the download folder for slskd (self hosted version of soulseek) to be the library folder for Navidrome.
For a navidrome Android client, I use Symfonium, but it’s a paid Play Store exclusive. If you want FOSS, I’ve tried Tempus and it seems fine, the only reason I don’t use it is because I already paid for Symfonium
I use slskd (docker container for soulseek) to download music and Lidarr to automatically move it to an organized folder structure. Lidarr doesn’t natively connect to slskd, so you have to use an extension (which I forget the name of atm) to get them to work together. No part of this assumes that music has any metadata or that you want it, but Lidarr can be setup to automatically retag imported downloads with metadata from musicbrainz. I don’t do this, I prefer manually retagging with Picard
I don’t know what your experience with self hosting is, but I will say that I don’t think setting up a navidrome server is any more difficult than setting up a jellyfin server for shows and movies. Maintainability is pretty easy, just make sure that everything is updated every once in a while and you should be fine
- Navidrome on the server
- Feishin around the house
- Substreamer on the mobile
Are there any good apps for android for navidrome/jellyfin respectively?
Symfonium is paid but by far the best i tried. Will work with both via subsonic api.
how easy can I add songs to them/do they pull metadata from somewhere (like jellyfin does for movies)
I use navidrome and can’t speak to jellyfin. Navidrome is intentionally read-only for security reasons so you add music to where navidrome can see it and it’ll auto-scan them in. For metadata my recommendation is KDE picard. A lot of people recommend beets and it can be good but it’s a big learning curve. Kde picard has a nice gui and easier to get music matched for beginners.
how do they (or any other options) compare in terms of ease of setup/maintainability?
From what i see people use jellyfin because they don’t want “yet another container” and most people already have jellyfin for other media content. So that would be easiest route. Navidrome isn’t hard to set up though, and overall has a better feel for me.
do you have any overall recommendations?
Look into LRCGET to get the timesynced and/or plaintext lyrics of your songs. There’s also a navidrome plugin that will automatically fetch the lyrics when a song is played
Edit: for desktop id recommend feishin. It’ll work with both through subsonic api
Imo the best app for Jellyfin i Finamp, make sure to use the beta release for the updated UI and general huge improvements. It’s been in the works for a while and works great as a daily driver.
Jellyfin can use a bunch of sources to get metadata for music, some by default others by installing a plugin, but it’s much more hit-and-miss than movies or series. That’s just due to how much more music there is and how relatively worse metadata for music generally is.
Personally, I add a few albums at a time and make sure the metadata is correct using kid3.Maintainability is probably similar between the two options. Jellyfin obviously can handle other media as well so if you need something to watch movies that would result in less maintenance needed overall.
I used to run Navidrome for a bit, but soon after the Finamp beta started so I didn’t feel the need to go with the broader app selection of Subsonic.
Ampache Music assistant hooked up to Ampache for room speakers. Plenty of mobile apps to choose from,
I personally use Navidrome to host the music, and there are multiple android clients; personally I use Symfonium, but there is also Tempus and Tempo.
Jellyfin can also do Music.
The Music I put on Navidrome already has correct metadata, so I haven’t worried about that aspect.
Its easy to maintain because I run it with docker.
You could look into music assistant that runs on home assistant.
I use Navidrome, and have set up Lidarr to feed it if I’m feeling a little hook-handed, if you get my meaning. Lidarr was a bit of a bollocks to set up, but once it’s running it’s pretty neat. I access it via Tailscale so can add stuff to the library wherever I am.
As for accessing it: again, I use Tailscale to run it through a reverse proxy on my website, so I connect to it using a subdomain. But as long as I’ve got Tailscale active on my phone, I could always access it that way. As others have suggested, I use Symfonium on my phone, and I use Feishin on everything else.
It all works pretty well, to the point that I don’t really use Apple Music anymore.
i have a computer in the bedroom that has my ‘local copy’ of music
i download with nicotine on that computer, tag with picard, then sync with rclone to my proxmox server/navidrome lxc that runs on docker.
i have an old music player device that i flashed Debian on, and installed two snapcast servers/clients simultaneously on that machine, one with mopid-subidy extension (but a fork that allows for server scrobbling) and another tied into home assistant for announcements.
the player can play directly through mopidy, or DLNA
or snapcast can swap to any of my linux computer’s with pipewire snapcast discover, and i can listen with feishin (or anything else in the entire world) and sling to snapcast from there.
away from home, tempus on android
As for me, I just use Syncthing between my devices so I have the same music files in my laptop and my phone. It works well as I don’t often change out the music I listen to, and plus it’s local files so no network required (good on an aeroplane, for example). I personally use an MPD client on my (Linux) laptop, while on Android I use Auxio (Lotus and Chocola are excellent too)
If that doesn’t work for you, there is Jellyfin as well: Finamp for specifically music playback, Findroid for general Jellyfin use. Am not hosting Jellyfin currently so I don’t have anything to add besides that, but do check out the docs if you need help setting up / maintaining it!
I run both Navidrome and Jellyfin. I would say that Navidrome is probably simpler of the two to setup if you’re only interested in music.
In both cases uploading new music is the same. Upload the tracks to your media directory and wait for the next scan.
I use jellyfin for my setup, mostly because I already use it for video.
It can fetch metadata from audioDB or musicbrainz.
I use the Finamp android app to play music and it works really well, even with Android Auto.
It has been fine for my usecase, so I haven’t looked into other solutions.
Music on my server via Soulseek downloads and shares. I share it via SMB share and Jellyfin with tailscale to all my devices.
People often recommend Navidrome but its lack of care for folders irks me.
I have a lot of music in folders, could you elaborate a bit on that? I’m kinda interested in doing something like this sometime instead of copying music all the time lol but if it ignores folders I’ll check another solution
I’ve tried using collections in Jellyfin to mimic my folders, but it’s not great. Collections are very slow when you get a lot of content in them, plus they only take albums, not songs. Took a weekend to script the stuff in using the API, but wasn’t worth it.
I’ll try navidrome soon.
I see, thank you, I’ve always just used my tree structure as my playlist, as I typically listen to whole albums at once, so I’ve used simple audio players like 1by1 on Windows or Deadbeef on Linux where I can just browse my file system and play music. It seems most things nowadays use playlists
same, tree structure is how I listen and find stuff, ever since my winamp days







