Hello everyone I’ve been looking for a solution to replace Spotify, for me and my family. I already self-host some services, such as Jellyfin and Sonarr/Radarr For music however, my actual setup is the following :
- synchronize my music folder on my phone with my NAS
- download on the phone or on my computer However, I struggle with finding new music and having an easy way to add music.
From what I’ve read, Bandcamp could let me buy some music and add it to my collection (however all artists aren’t on bandcamp) There also seem to be a consensus around Navidrome for a music server.
But how can I set it up so that each member of my family has a separate account (with different musics in it), still discover new songs and easily add them? I’ve looked into Lidarr (not a lot I have to admit) but it seems like it’s mainly for downloading full albums, more than just songs. Is that the case?
TLDR: What self-hostable services can I use to replace Spotify, so that each member of my family has its own instance, recommendations and downloads?
Thank you in advance and sorry for my English
Lidarr, SpotSpot, Jellyfin (Symfonium for listening to music on my Android phone).
I use Spotify (web version) or Lidarr to look/search for the name of the albums for different artists and then download it with SpotSpot (consider pairing it with Gluetun). For me, this is perfect!
Edit: While on my computer, I’m using Feishin to listen to music from Jellyfin. I usually create the playlists from there.
Spotify replacement? Oh, hey, that’s me.
I’m working on Tapesonic, a subsonic-compatible self-hostable streaming service. It won’t stream your local library, but it can import stuff from YouTube and Bandcamp (and probably other sites yt-dlp supports, but I didn’t bother testing) and stream those. Started making it because Lidarr can’t download basically anything and also can’t manage anything that’s not in MusicBrainz even if you download it yourself.
As for discovery - Tapesonic can scrobble your listens to ListenBrainz and, since a couple of days ago, last.fm. Those in turn provide recommendation playlists.
- ListenBrainz playlists are already incorporated, but Tapesonic can only match the songs you already have in your library - everything else is ignored; completely useless for actual discovery and the recommendations aren’t great anyway to be honest
- last.fm recommendations are pretty good and I’m actively working on importing those; last.fm provides a YouTube URL for each track and Tapesonic can import YouTube URLs - you see where this is going, yeah? I expect to push a somewhat working implementation in a couple of weeks as I already have a prototype that works surprisingly well
Caveats:
- Tapesonic is still in it’s “prototyping phase” (what do you mean it’s been more than a year since I started it…) - everything gets changed all the time, only core features get implemented, UI sucks, all that jazz
- breaking changes anytime - expect having to completely wipe everything and start anew at any moment
- no multi-user support for now and I have no idea when it’ll come; you can host multiple instances I guess
Want to give it a try?
docker run --rm -p 8080:8080 -e TAPESONIC_USERNAME=user -e TAPESONIC_PASSWORD=pass ghcr.io/sibwaf/tapesonic
- http://localhost:8080/, username/password from the previous command (“user”/“pass” in this case)
- “New tape” -> paste any Bandcamp album URL -> “Import” -> “Add all” -> “Next” a couple of times
- Connect a subsonic client (Feishin, Sonixd, Ultrasonic for desktop, Tempo for Android) to the same address, same credentials
- Enjoy!
Any other configuration parameters, persistency, stuff like this - sorry, you’ll have to study the code. No docs and no support for now.
I used to live Spotify. Now it’s algorithms and podcasts being pushed. Their app has gone to shit.
Good luck doing a simple thing like… shuffling by artist. Such a mess.
Love Plexamp though.
So as you noticed there isn’t a one size fits all solution.
You are correct in that bandcamp allows you to buy songs and albums from artists, but not every artist is on the platform. I cycle between Quobuz, HDTracks, or other alternatives (wink, wink)
Navidrome is good for sharing one library, in my experience. It expects one library that a bunch of users can then interact with. This does meet your requirements of seperate stats and downloads per user however you will have access to your family’s music just like they will have access to yours.
You could try out funkwhale, which is similar but expects multiple libraries. So you can have a library of just your music and same with your family members, this will allow duplicate tracks. I will caution that funkwhale is, in my experience, not easy to get setup. I would personally recommend navidrome as it is very easy to setup annd use. As others mentioned, it uses the subsonic api under the hood so any subsonic client can access your navidrome libary. I use Feishen on desktop and symphonium on mobile.
You also mention syncing music folders between devices, this might get tricky. But you can setup a rsync services to ssh to your phone and then migrate tracks to your library. But personally I would recommend just trying to only download your music to your NAS so you can skip this annoyance. You can setup Lidarr which is sonarr/radarr but for music. However music piracy is not what it was 10 years ago, and I struggle to have lidarr autopull albums, but thats also because I try to use flac which is not as common either.
Finally you mention recommendations, for me the only option is ListenBrainz. You can setup a musicbrainz account, it is an open source music metadata platform, and then use that login for ListenBrainz, which is a tracking and recommendation engine. You can directly plug in that api to navidrome to have it sync all of your listens.
In summary, my recommendation is to only download music to your nas, setup navidrome for library sharing, (you can download from navidrome), and then setup lidarr for albums. Finally for individual tracks look into deemix, if you only want mp3 then it’s just free downloads.
Please feel free to reply or message for any clarifications.
This is the best and most cohesive answer.
I use all these things mentioned with a deezer hifi subscription and deemix running as a lidarr addon, that way all i have to do it select an artist on lidarr and boom ive got their discography in minutes.
As for discovery, listenbrainz is a great tool to see what other people with similar taste listen to and it makes potential playlists for you.
HOWEVER, i can not recommend enough just downloading entire collections of artists you like or full albums instead of single songs and hitting shuffle. I have discovered so much new music for me thats been out for years by artists i love that i didnt know existed. This is what lidarr does really well in terms of the collecting music.
Symfonium is also an amazing app for using your navidrome server bar none. All the customisation and features it offer are just so much better than any streaming service app by miles and miles.
Good luck!
I’m ashamed to admit I never considered hooking deemix into lidarr, that is pure genious.
I’d also second collecting whole discographies, a lot of ‘one hit wonders’ have surprisingly deep catalogs that are full of really great tunes.
If you change to the plugin branch of lidarr you can add it and away you go. Much better than torrents or usenet and then you can also integrate soulseek via another plugin for anything not on deezer (very little anyway)
what’s the reason the plugin is not in the main branch? Are there possible issues with the plugin branch? (data loss?) Is there a plan for the plugins option to become part of main branch in the future? (i don’t want to break running things if a bit of patience for features would do just fine)
As far as i understand it, its a seperate dev branch and plugins arent intended to be introduced to the main branch.
Its exactly the same otherwise and when i swapped i didnt have to reimport any music etc.
Been working much better than the containers you can get like lidarr-on-steroids because they dont get updated nearly enough whereas i can keep both my lidarr and deemix containers up to date.
I use syncthing and poweramp.
I used lidarr to sync my followed artists from spotify and then just use plex and plexamp for music, all my plex users have access to it also but I think most people still have spotify so it’s just mainly me using it
Plex and plexamp is the best music hosting setup I’ve found too. Users can have their own playlist and there is some smart playlist generation.
They also had (maybe still have) tidal integration.
However, you’ll still be relying on other services (probs spotify/etc.) to find new things.
They dropped the Tidal integration and I’m still heartbroken. It was the best setup for music discovery. Haven’t found a replacement yet.
It’s on my “short” Todo list to write an app that looks at your current library (Plex, for me) and finds related artists through other apis (like Spotify) and exposes a UI to show what things to check out. Maybe some tracking of what you’ve accepted as interesting and still missing so you can grab off Bandcamp or wherever else you get your music. But at least it would help track/expose WHAT bands to seek out
You might wanna check out spotube, which uses the spotify API for playlists but plays tracks through Youtube. Might be useful for inspo
Definitely a cool project! Can crack it open to get some API insights. The goals don’t quite line up for me, as I eventually want to actually get the tracks into my Plex setup. Additionally, I’m after a more “assisted curation” where I actively consider new artists and thumbs 👍👎 to let them through, rather than trying to make a radio type feature that passively plays new stuff.
Ahhh I get you. Yeah this one just piggybacks off the spotify radio feature I think
From my experience with sonarr and radarr, I thought lidarr would be great, but it’s garbage.
Bandcamp isn’t what it used to be, apparently there’s a better service for music now, I’m sorry I can’t recall the name.
Navidrome should serve you well for Spotify replacement. It uses the subsonic api, so you can use any app that supports that, and there are many.
Regarding sync phone with server, you might want some thing like synching or nextcloud with a local player on your phone. My music collection is 1.5TB, so I simply stream and have only a few select albums downloaded locally on the phone.
What’s garbage about it? It works great for me.
Well, you’re certainly in the minority.
If you follow lidarr’s methods on cataloguing your music, sure. But most of us have developed our own way to organize music and lidarr blows at handling these:
- concert albums
- bootleg
- international releases with different track listings than north american version
- custom mp3 fields
- certain artwork
- playlists
- cddb tagged music (yes, even pulling the music directly from a disc.)
- flac album-year and album-artist tags
- multi-disc albums
- electronic music
- vinyl music tagged with picard
And god forbid you give lidarr free reign on your collection, it will start renaming, re-downloading and replacing music, essentially destroying your collection.
The problem is that there really isn’t a standard way to categorize music, but lidarr wants to impose one.
Just adding my +1 for Lidarr being garbage. I’ve tried multiple times and it’s just unusable - I get that music is complex with releases, but Lidarr just seems to over complicate things.
Even with deemix and Lidarr (the Lidarr on steroids thing) it’s unusable.
My solution is to manually acquire files with soulseek and Deezer/deemix, then tag them with Picard and add them to Plex. I have Plexamp and all my family have their own accounts.
Exactly! Get music, tag with Picard, least work.
I don’t really blame Lidarr devs, though. Music is a difficult problem to solve because the media itself is too loosely standardised. And with good reason; everyone’s workflow with music is different.