← all SaaS
Self-host Spotify
Music streaming ·
Category: video, audio & courses
Spotify is a music streaming subscription — catalogue access, playlists, recommendations, mobile/desktop/cast apps. The self-hostable replacements all serve a music library you own (purchased / ripped / Bandcamp downloads); none of them give you a Spotify-style hosted catalogue, but Subsonic-API tools deliver the playlist + sync + cast UX once you bring the files.
Spotify pricing anchor: Individual $11.99/mo; Family $19.99/mo (6 users); Duo $16.99/mo.
- GitHub
- ★ 21.0k · last commit today · 209 open issues
- License
-
GPL-3.0 - Setup time
- 10min single-binary or docker run
- Monthly cost
- $5 VPS; storage scales with library (FLAC needs ~600MB/album, MP3 ~80MB).
Migration sketch. Run `docker run -d --name navidrome -p 4533:4533 -v $HOME/Music:/music:ro -v $HOME/navidrome-data:/data deluan/navidrome:latest`. Navidrome scans the music folder and exposes the Subsonic API; play through the built-in web UI or any Subsonic client (DSub on Android, play:Sub or substreamer on iOS, Feishin on desktop). Spotify playlist export via Exportify (web tool) → CSV → community scripts to map ISRC → local files; expect 60-80% match rate depending on library coverage.
Good fit forOwners of a digital music collection who want Spotify-style playlists, smart shuffles, and mobile sync against their own files.
Weak atNo catalogue — you need the music files yourself; no recommendation engine on par with Spotify's.
- GitHub
- ★ — · last commit unknown
- License
-
AGPL-3.0 - Setup time
- 30min docker-compose (Django app + Postgres + Redis + Celery)
- Monthly cost
- $10 VPS for the app stack; storage separately.
Migration sketch. Deploy via the official compose template from docs.funkwhale.audio. Funkwhale federates over ActivityPub — your library can be private or shared with other Funkwhale instances. Spotify playlist migration is manual: export via Exportify, then use the Funkwhale CLI (`funkwhale-manage import_files`) to ingest local audio and recreate playlists.
Good fit forCommunities that want a federated music-sharing space — labels, podcast collectives, friend groups.
Weak atHeavy stack for a single user; mobile clients are thinner than Subsonic-ecosystem tools.
- GitHub
- ★ 51.4k · last commit today · 704 open issues
- License
-
GPL-2.0 - Setup time
- 10min docker run
- Monthly cost
- $5-10 VPS or home server; designed to run on a NAS.
Migration sketch. Already running Jellyfin for video? Add a Music library pointing at your music folder; the same server now exposes a Subsonic-compatible endpoint (Plugins → Subsonic API) plus Jellyfin's native music UI. Spotify playlists port via Exportify → community scripts → M3U files dropped in the library root.
Good fit forHouseholds that already self-host video on Jellyfin and don't want a second daemon for music.
Weak atMusic UX in the native Jellyfin web app is less polished than Navidrome; Subsonic clients are the practical mobile path.
In a terminal? npx os-alt spotify prints this table —
how the CLI works →