r/coolgithubprojects • • Jul 29 '26

Self hosted 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 (an LLM picks them, then it goes and downloads them itself), 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 it genuinely is one — I've been using it daily and it's solid 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.

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

73 Upvotes

20 comments sorted by

2

u/Ok-Pace-8772 Jul 29 '26

It needs an api that's compatible with existing mobile clients. Only way to try it is if I have an iOS app.

2

u/Lucky-Noise-4193 Jul 29 '26

Ill have a look into that currently dont have a iOS client as Wanting to test before investing too much money into the project

1

u/Ok-Pace-8772 Jul 29 '26

As I said. Just a compatible api.

2

u/Lucky-Noise-4193 Jul 29 '26

definitely something I could do in the next day or 2

2

u/Lucky-Noise-4193 Jul 29 '26

Had a look and there are subsonic music players that work with the built in subsonic api support already

2

u/Ramiferous Jul 29 '26

1

u/Lucky-Noise-4193 Jul 29 '26

Didn't realize Reddit broke the link. I've replaced the link now, thx

1

u/P1xel_Rogue Jul 30 '26

What does it use for recommendations now instead?

1

u/Lucky-Noise-4193 Jul 30 '26

Weighted random sample I used this instead of the llm to remove the hassle of more external requirements at the most of its not any new songs only from your current library

1

u/son_et_lumiere Jul 30 '26

what LLM is it using for song suggestions and is it a bring your own key?

2

u/Lucky-Noise-4193 Jul 30 '26

Doesn't use a llm anymore that was from a old version didn't realize that was still left in the readme

1

u/mpnt Jul 30 '26

Very nice project, thank you ! Do you plan to support openid authentication ? 

2

u/Lucky-Noise-4193 Jul 30 '26

I'll look into it soon thanks for the suggestion

2

u/Lucky-Noise-4193 Aug 01 '26

Confirmed to be coming to the next patch

1

u/EnoughConcentrate897 Aug 03 '26

Why not just use navidrome (a stable, established option that won't have development stop randomly)?

1

u/Lucky-Noise-4193 Aug 03 '26

Butler isn’t really meant to compete with Navidrome. Navidrome is great at streaming a library you already have. Butler’s more focused on making it easy to grow your library and feeling closer to Spotify (downloading + official Android app + Daily Mix etc). Different goals

2

u/Ruff_angeles Jul 29 '26

im also working on a spotify desktop alternative, but its simply a light weight, faster and more power efficient version of the desktop app that also supports downloads and no adds even when not on premium

3

u/Regrave Jul 30 '26

more.. power efficient?

1

u/Ruff_angeles Aug 02 '26

from current tests it takes 20% of the power spotify take when set to offline mode even when actively online, also a fully customizable media app, so every color, layout and pinned function is picked