Your music. Your server. Your rules.
Songhive is a self-hosted music streaming and sharing platform — think Funkwhale meets Mastodon. Your library lives on your hardware, but your music travels across the Fediverse.
A real music library, not a folder of files
Upload, organize and stream artists, albums and tracks — Songhive takes care of the metadata so you can take care of the listening.
- Automatic tag extraction and duplicate detection on upload
- MusicBrainz enrichment — MBIDs, Cover Art Archive artwork and artist images, written back to the audio files
- On-the-fly transcoding to MP3, OGG, FLAC, AAC and Opus, with range requests and per-role bitrate caps
- Playlists and dynamic radios, plus a responsive web player that works on any screen
Music as social content
Tracks, albums and playlists are first-class ActivityPub objects. Publish, follow, reply, boost and quote — from Songhive or from your Mastodon client.
- Full ActivityPub federation — interoperates with Mastodon, Funkwhale and other Songhive instances
- Mastodon-style posts with mentions, hashtags, Markdown, threaded replies, quotes and link preview cards
- Federated music entities — follow remote libraries and artists, add remote tracks to your collection
- Real-time notifications over WebSocket, with per-type email and daily-digest options
Plays anywhere on the web
A public Songhive link is never a dead link — it's a player. Share a track on Mastodon and it renders with a working play button, right in the timeline.
- Embeddable players via
<audio>, Markdown,<script>widgets or iframes — CORS-enabled for Fediverse clients - Webmentions in both directions — get notified when blogs link your music, and ping sources you link to
- RSS 2.0 and Atom feeds for every profile, artist, playlist, library, tag and genre
- Rich link previews — OpenGraph cards for tracks, albums, artists and profiles
Every play counts
Songhive records your listening history out of the box and turns it into stats you'll actually want to look at.
- Personal listening stats — top artists, albums and tracks over any date range
- Release-decade histograms and a listening clock that maps your plays around the day
- Last.fm and Libre.fm scrobbling built in — no browser extensions needed
- Favorites and history synced across web, Subsonic clients and remote tracks alike
Your apps already speak Songhive
A full Subsonic/OpenSubsonic compatibility layer means the player you already use on your phone or desktop just works — point it at your instance and log in with an API token.
- Subsonic API under
/rest/*.view— Substreamer, Tempus, Symfonium, Ultrasonic, Supersonic and more - Mopidy extension — browse and play your library from any Mopidy server
- Server-side outputs — relay to Icecast, cast to Snapcast, or host native HTTP mountpoints that keep playing when you close the tab
- Podcasts — subscribe and listen without leaving your library
Made for the people who make the music
Songhive isn't only a player — it's a place to publish. Optional payments support lets artists sell tracks and albums, and instances run paid memberships.
- Sell tracks and albums — set a price, pick whether unpaid visitors stream, hear a sample, or get nothing
- Stripe Connect payouts — sellers onboard with their own account; money goes straight to them
- Paid memberships — gate an instance behind a subscription if you want a supporters-only space
- Entitlement-aware everywhere — purchases unlock downloads across the web UI, API and Subsonic clients
Built like a platform, not a toy
The boring-but-essential pieces are already in place, so your instance can grow from a personal library to a community hub.
External libraries
Attach local folders, S3, SFTP, WebDAV, Dropbox or Google Drive — or import collections from Jellyfin, TIDAL and YouTube.
OAuth2 & API tokens
A built-in OAuth2 provider for third-party apps, plus revocable API tokens for scripts and Subsonic clients.
Multi-user by design
Open, invite-only, approval-required or closed registration, public/local/private profiles, and admin tooling.
Remote discovery
Look up remote actors, posts and tracks by handle or URL — SSRF-guarded, domain-moderated and cached.
Moderation toolbox
User mutes and blocks, reports forwarded over ActivityPub, actor limits and per-instance defederation.
Your storage, your rules
Local filesystem or S3-compatible object storage, content-addressed files and per-user upload quotas.
Real-time everything
WebSocket notifications in-app, per-type email delivery, daily digests and optional push notifications.
Open API
A documented REST API under /api/v1 with an OpenAPI spec and bundled Swagger UI.
Running your own hive takes minutes
A single Docker Compose stack — or a plain pip install —
brings up the web UI, the API, background workers and federation.
# Bootstrap docker-compose.yml, nginx.conf,
# config.toml and .env in one step
curl -fsSL https://git.fabiomanganiello.com/songhive/raw/branch/main/docker/bootstrap.sh | sh
# Start the stack
docker compose up -d
# Install the latest stable release
pip install songhive
# Configure, then run
songhive -c /path/to/config.toml
Songhive is free software, released under the AGPL-3.0 license. Hack on it, run it, federate it.