Recommendations for music-setup?
from smokinliver@sopuli.xyz to selfhosted@lemmy.world on 01 Jul 05:16
https://sopuli.xyz/post/48094777
from smokinliver@sopuli.xyz to selfhosted@lemmy.world on 01 Jul 05:16
https://sopuli.xyz/post/48094777
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
threaded - newest
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!
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.
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
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.
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.
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.
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!)
Navidrome is one piece of a large ecosystem opensubsonic.netlify.app/docs/
The thing 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
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 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
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.
Navidrome server with music-assistant front end.
On the client side, tempus is the best Android app I’ve found for interacting with a navidrome server.
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.
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.
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.
Symfonium is paid but by far the best i tried. Will work with both via subsonic api.
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.
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.
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
You could look into music assistant that runs on home assistant.
Ampache Music assistant hooked up to Ampache for room speakers. Plenty of mobile apps to choose from,
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
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.
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.
beets + navidrome is the answer. beets organises music collection and enriches metadata with thinks like lyric and images. navidrome just serve it.
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…
Have been using easytag on linux and kid3 on mac (kde app - not sure what other free ones there are there) for adding trackinfo so far anyway
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.
Navidrome works best with a library that is already well-organized, but it can do some things in terms of library management, particularly with the use if plugins.
There are some good tools for organizing your library, such as beets, Picard, etc. I did not have good luck with beets because I find it a bit complex for a CLI tool, and a lot of my library is composed of singles and mixes. It seems to do better with whole albums. I use Strawberry player for local library management, which has tools like Picard built in, and also connects to lots of things like lastfm if you want. You can also add lyrics with a tool like lrcget.
If you have existing playlist files saved, Navidrome will automatically import them. It can also make new playlists, and there are plugins for smart playlists, etc. Once you set up Navadrome, you shouldn’t have to touch it very much because it will automatically monitor and update your library if you set it up correctly, which is not difficult at all. It’s a little bit more specialized and so has a little bit better setup for music than Jellyfin, in my opinion. And it has far more front-ends on various platforms. I do use Jellyfin for all of my TV and movies, though.
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.
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
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 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
You should try the beta, if you haven’t yet!
For using navidrome on android I use the tempus client. Which is a fork of the now dead tempo client.
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.
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
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
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]
Go to a Hifi shop and buy a separate amp and speakers. It’ll do more for your enjoyment of the music than anything else.