this post was submitted on 01 Jul 2026
40 points (95.5% liked)

Selfhosted

60409 readers
263 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

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

top 44 comments
sorted by: hot top controversial new old
[–] Mertn33@lemmy.world 1 points 1 day ago

Navidrome/Feishin

[–] gedaliyah@lemmy.world 7 points 2 days ago (2 children)

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.

[–] SpatchyIsOnline@lemmy.world 2 points 1 day ago

Thanks for the Chora recommendation, I recently pushed the Tempus apk to my tv as the dev has been working on better landscape screen support, but navigating it on tv still requires a mouse unfortunately.

I'll definitely give Chora a try when I get home

[–] fluxx@mander.xyz 1 points 2 days ago

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.

[–] Decronym@lemmy.decronym.xyz 1 points 1 day ago* (last edited 13 hours ago)

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 9 acronyms.

[Thread #37 for this comm, first seen 2nd Jul 2026, 19:50] [FAQ] [Full list] [Contact] [Source code]

[–] Appoxo@lemmy.dbzer0.com 1 points 1 day ago* (last edited 1 day ago)

My favorite client on android is symfonium. Also has support for more sources:
Local
Plex
Emby
Jellyfin
(Open) Subsonic
AudioBookShelf (Experimentell)
Kodi (19+)
OneDrive
box
Box
Google Drive
Dropbox
pCloud
WebDAV
SMB/SAMBA

Strictly Jellyfin:
Had good experiences with Finamp before switching to Symfonium.

Metadata (Jellyfin):
ID3 Tags
Musicbrainz (1st party plugin. Manual 1-click install) (optional) Apple Music as a plugin

Maintenance/Import:
Done via lidarr

Effort:
Besides having to create album entries on Musicbrainz (can be done automatically with the webtool 'Harmony'), waiting 7 days to get them auto-approved and then importing it on lidarr?
Very low.

Recommendation:
Jellyfin + Lidarr

If you like tracking data:
You can track your listening history on listenbrainz (part of and operated by musicbrainz) and generate pretty graphs and get listening recommendation made from users with a similar taste.

Disclaimer: I havent tried subsonic or anything else than Jellyfin. So I can't speak pro/cons

[–] hellmo_luciferrari@lemmy.zip 14 points 2 days ago (1 children)

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.

[–] SpatchyIsOnline@lemmy.world 1 points 1 day ago (1 children)

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!)

[–] hellmo_luciferrari@lemmy.zip 0 points 20 hours ago (1 children)

Good to know! Thanks for sharing. Tempus seems quite nice. Though Android Auto didnt work for me last I checked even with the update.

[–] SpatchyIsOnline@lemmy.world 1 points 19 hours ago (1 children)

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 Obtaining if you like.

[–] hellmo_luciferrari@lemmy.zip 1 points 16 hours ago

Thats where I got mine, GitHub, ubdating with Obtainium!

[–] kylian0087@lemmy.dbzer0.com 2 points 2 days ago

For using navidrome on android I use the tempus client. Which is a fork of the now dead tempo client.

[–] irmadlad@lemmy.world 7 points 2 days ago
  • Navidrome on the server
  • Feishin around the house
  • Substreamer on the mobile
[–] philanthropicoctopus@thelemmy.club 3 points 2 days ago (1 children)

I really like jellyfin with finamp on android but I don't have any really specific requirements. It just acts like an old media player and works really well

[–] Chaphasilor@lemmy.ml 1 points 2 days ago

You should try the beta, if you haven't yet!

[–] exu@feditown.com 7 points 2 days ago

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.

[–] ResistingArrest@lemmy.zip 4 points 2 days ago

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.

[–] thd@lemmy.world 1 points 2 days ago

Music Assistant is an excellent Home Assistant addon. Works with all streaming platforms, internet radio, and local files. And easy to stream to multiple devices (either different streams or synced for multiple speaker setups). I mostly play Qobuz for lossless audio straight to my sound system by soldering an SPDIF optical audio connector to my Home Assistant Voice device. Streaming music to Android devices or any device with web interface works as well, and you can do this on the go if you've configured remote access to Home Assistant.

[–] starshipwinepineapple@programming.dev 5 points 2 days ago* (last edited 2 days ago)

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

[–] sbeak@sopuli.xyz 6 points 2 days ago (1 children)

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!

[–] vgnmnky@lemmy.world 1 points 2 days ago

This is my approach too. I use Moode Audio on a Pi at home, linked to my mini server. Same server syncs (with Syncthing) all of my music to my phone's SD card. I have Jellyfin on the server too and my music library is available there, but I just use that for video.

[–] drkt@scribe.disroot.org 5 points 2 days ago* (last edited 2 days ago)

Navidrome is one piece of a large ecosystem https://opensubsonic.netlify.app/docs/

The think Navidrome does is that it includes almost everything in one convenient install.

Use any server backend you like (I use Gonic because it is extremely simple) and then connect to it using any client that supports subsonic or opensubsonic

[–] comrademiao@piefed.social 5 points 2 days ago (1 children)

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.

[–] joeljoelle@piefed.blahaj.zone 2 points 2 days ago (3 children)

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

[–] comrademiao@piefed.social 1 points 1 day ago

Jellyfin respects your folder structure is what I mean!

Navidrome exposes the folder structure via the subsonic api, and any compatible app can then display folders if they want. Both symfonium (mobile) and feishin (desktop) have folder support.

[–] tab@sh.itjust.works 2 points 2 days ago (1 children)

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.

[–] joeljoelle@piefed.blahaj.zone 1 points 2 days ago (1 children)

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

[–] tab@sh.itjust.works 1 points 2 days ago

same, tree structure is how I listen and find stuff, ever since my winamp days

[–] UntimedDiffusion@piefed.zip 3 points 2 days ago

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

[–] eodur@piefed.social 1 points 2 days ago

Best stack I've seen so far is Yubal + Navidrome + Tempo. If you don't mind paying for your client then Symfonium is hard to beat.

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.

[–] bookmeat@fedinsfw.app 2 points 2 days ago

You could look into music assistant that runs on home assistant.

[–] djdarren@piefed.social 2 points 2 days ago

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.

[–] buliarous@piefed.social 2 points 2 days ago

plexamp is great and super full featured (but pricey if you don't get premium life-time on sale)
If they ever decide to revoke my lifetime subscription I got basically a decade ago for cheap I'll probably switch providers.

[–] beeng@discuss.tchncs.de 2 points 2 days ago

Navidrome server with music-assistant front end.

[–] _aj@piefed.world 1 points 2 days ago

I use Navidrome + audinaut as my android app (I only just checked to find out that development on audinaut stopped 4 YEARS ago, so will be looking at this thread for new suggestions...

[–] TheHolm@aussie.zone 1 points 2 days ago

beets + navidrome is the answer. beets organises music collection and enriches metadata with thinks like lyric and images. navidrome just serve it.

[–] fleem@piefed.zeromedia.vip 2 points 2 days ago

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

[–] jwiggler@lemmy.dbzer0.com 2 points 2 days ago* (last edited 2 days ago)

i stream music from my desktop at home. i use navidrome as the server (edit: behind a reverse proxy). it hooks up to lastfm account to grab metadata that is not already build into the files. sometimes the metadata in the files are wrong, so i have to fix with an app called picard.

symphonium is a paid client i use on my phone, but it has so much customization that a buck or two made it worth it for me.

i use soulseek to share media with my friends. sldl is a cli tool for it that makes it easy as one command album download.

[–] motruck@lemmy.zip 1 points 2 days ago

Ampache Music assistant hooked up to Ampache for room speakers. Plenty of mobile apps to choose from,

[–] AbidanYre@lemmy.world 1 points 2 days ago

On the client side, tempus is the best Android app I've found for interacting with a navidrome server.

[–] fozid@feddit.uk 1 points 2 days ago

I don't touch or maintain anything, my setup is completely automated.

I run navidrome as my music server. I use transmission, through a namespace with a VPN attached and port forwarded, all managed through systemd and I just turn it on and off as needed. I dump all music in any condition in my music folder and torrent dump music there once completed. Beets manages and fixes my music folder meta tags automatically.