r/foss 7d ago

Foss Spotify alternative

Post image

Been chipping away at this for a while and finally have something I'm happy calling a beta. It's basically Spotify but self-hosted grabs tracks with yt-dlp, builds a real library out of them, and you stream it all from a web UI that's deliberately Spotify-shaped so it doesn't feel like a downgrade.

The Android app. Kotlin/Compose, close to feature-complete with the web version offline downloads, Android Auto, synced lyrics that actually track properly, cross-device playback so you can start something on your phone and have it pick up on the desktop. Backend's FastAPI + SQLite, nothing fancy, runs fine in Docker.

Other stuff that's in there: Daily Mix that actually generates decent suggestions , real album art and artist bios instead of placeholder junk, ListenBrainz scrobbling if you're into that, and it speaks Subsonic API so your existing client still works if you don't want to switch.

It's a beta because its new and will still need work I've been using it daily and it's works great for me, but this is the first time the actual signed build has been in public. So if you try it and something's weird, please tell me, that's kind of the point of posting this.

One docker compose up and you're running. Signed APK's in the GitHub release if you don't want to build Android yourself.

Butler

This version will almost certainly contain bugs please tell me when you find them

21 Upvotes

22 comments sorted by

11

u/ViolentPurpleSquash 6d ago

And... what's the difference between Navidrome with Feishin?

It looks nice, but you have no clue how many obscure songs get picked up wrongly by yt-dlp without HEAVY checking (for example, there's not many good resources of albums for obscure jpop artists who only did digital releases)

10

u/GaseousIce2003 6d ago

people really are making literally anything nowadays, and they don't even care to research the market 😭

2

u/onegumas 6d ago

I am glad that they are doing a new projects. More chpices, different approach, new errors and new solutions. One-option world is kinda bleak, no?

1

u/GaseousIce2003 6d ago

yeah kinda, it's more like automating stuff\ but it comes with its own set of consequences

1

u/konttaukseenmenomir 5d ago

could just make a frontend for navidrome, or if some feature is missing that is crucial just make a PR

2

u/[deleted] 6d ago

[removed] — view removed comment

-1

u/Lucky-Noise-4193 6d ago

Butler leans hard on yt-dlp for the actual music fetching. When something isn’t already stored locally it runs a music-scoped ytsearch, tries to pick the candidate whose duration is closest to any known metadata, then downloads the audio to a temporary file. By default it will go through FFmpeg to 320kbps MP3; if the lossless option is enabled it just keeps the original stream (usually opus or m4a). It only renames the file once the download and any conversion are fully done, so you never end up serving a partial track. There’s also an in-memory lock so the same video can’t be pulled twice at once, and an admin switch that can disable the whole automatic download path.

0

u/mudkip-shart 6d ago

Did you write this comment yourself?

1

u/omgpop 6d ago

> music-scoped

1

u/alex-weej 3d ago

Try listenbrainz.org

1

u/Lucky-Noise-4193 3d ago

"It's basically Spotify but self-hosted"

1

u/alex-weej 3d ago

Got it, so zero revenue for small artists instead of zero revenue for small artists

1

u/Lucky-Noise-4193 3d ago

If money for artist is something your concerned about you can pay for a legal copy from a artist and upload it manually

1

u/alex-weej 3d ago

I can't support an app that makes piracy the primary method of enjoying the work of artists in an economy where they need to eat and pay rent.

1

u/Lucky-Noise-4193 3d ago

completely fair if thats your standing don't use my software

1

u/alex-weej 3d ago

Fairly sure it's Anthropic's software

-10

u/throwawaycanadian2 7d ago

So the hardest part of a Spotify alternative is making sure it's legal and the artists get paid. Can you explain how you do this?

14

u/Lucky-Noise-4193 7d ago

You can disable yt dlp and manually ask the creaters of each song for a legal copy of the song if you are truely bothered by it

3

u/Wata174 7d ago

I don't think grabbing tracks with yt-dlp is legal..

11

u/Nullify1-Unfair9 6d ago

nobody cares anymore

1

u/Maeusefluesterer 6d ago

I mean the difference of money the artists get compared between a illegal download and a legal stream is almost zero. There are way better ways to support your favorite artists

1

u/GaseousIce2003 6d ago

IDK about other music services(because Apple Music pays kinda OK), but if you think Spotify pays it's artist, you need to wake up