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
My recent improved flow is:
- Put my new music in a ‘import’ folder
- Run a beets container and tell it to import from the ‘import’ folder to my ‘music’ folder (beets tags all music with prompts before moving to my final music folder ofc).
- Jellyfin (which already has a music library set up and pointing to my ‘music’ folder) automatically refreshes after a few seconds.
- Listen and enjoy through jellyfin app/site OR through finamp (on android).
The best part is you can rip your music into the ‘import’ folder, or torrent, or get it direct from youtube. Thanks to the modularity provided with this setup, it doesn’t matter.
Tempus is phenomenal. I switched to navidrome on my server to use it. Chora is also good, and I use it on my TV (works well on any screen). If you don’t mind closed-source, Symphonum is excellent.
If you are using Jellyfin, it works well on PC, with Fintunes on mobile.
You can find a number of good apps for navidrome here. I quite like Strawberry, which is cross-platform. I use it locally for library management.
I connect everything with Tailscale, which is dead simple.
Are you me? Cause I have exactly the same setup. Navidrome, tailscale, the whole thing. I also use strawberry. It’s OK but a bit basic. I recently tried Nocturne for desktop, looks promising, but still somewhat buggy.
For using navidrome on android I use the tempus client. Which is a fork of the now dead tempo client.
- Navidrome on the server
- Feishin around the house
- Substreamer on the mobile
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
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 musicbrainz picard. A lot of people recommend beets and it can be good but it’s a big learning curve. Musicbrainz 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
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.
Navidrome/Feishin
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters Plex Brand of media server package SMB Server Message Block protocol for file and printer sharing; Windows-native VPN Virtual Private Network
3 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.
[Thread #37 for this comm, first seen 2nd Jul 2026, 19:50] [FAQ] [Full list] [Contact] [Source code]
Imo the best app for Jellyfin is 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.
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.
Fyi, it’s best not to recommend Tempo these days as it’s no longer maintained. Tempus is the fork of Tempo that’s still receiving regular updates (at a really good pace!)
Good to know! Thanks for sharing. Tempus seems quite nice. Though Android Auto didnt work for me last I checked even with the update.
I think since Android Auto compatibility requires proprietary Google binaries embedded in the apk, the degoogled version distributed on f-droid (as per f-droid’s terms) isn’t compatible. There’s a “full version” distributed in the github releases if you’re okay with those being included.
You can keep apps from github updated using Obtainium if you like.
Thats where I got mine, GitHub, ubdating with Obtainium!
You might still want to double check its the right version as the degoogled version is also distributed in the github releases alongside the “full” version.
If the package name is `com.eddyizm.degoogled.tempus" it’s the wrong one and won’t be compatible with android auto
Yeah, I manually copied the link to the full package. As well as manually reinstalled