Skip to content

Repository files navigation


Logo

BeetstreamNext

Fully-featured music server for Beets.io music libraries implementing the OpenSubsonic API

License: MIT Docs

BeetstreamNext exposes your Beets music library over the OpenSubsonic API, letting you stream your music to any Subsonic/OpenSubsonic/Navidrome client. It supports essentially the whole specification (only video-streaming is left out), and adds a bunch of its own extras :)

BeetstreamNext home screenshot BeetstreamNext admin panel screenshot

Features

  • Multi-user accounts: per-user bookmarks, ratings, favorites, play queues... (details)
  • Streaming: direct play, on-the-fly transcoding, adaptive-bitrate HLS, server-side ReplayGain, self-healing streams (details)
  • Jukebox mode: play on the server's own hardware, a Sonos speaker, or a Chromecast device (details)
  • Library augmentation: artist bios, similar artists/songs, ratings, lyrics, sonic similarity (details)
  • Internet radio & podcasts, managed independently of your Beets library (details)
  • Playlists: BeetstreamNext's own per-user playlists, and read/write access to Beets' playlist/smartplaylist files (details)
  • Public shares: landing pages and download links, no client or account required (details)
  • Security: IP allow/deny lists, adaptive rate-limiting (details)
  • Advanced Beets queries: prefix a client search with beets:/b: to run a full Beets query instead of a simple search

Rough roadmap

  • Detailed Beets import history and per-item reimport action (à la Betanin)
  • More notification types (health scan results, podcast download failures, jukebox errors, admin login lockouts, etc) and per-album import results in notifications
  • External scrobbling (Last.fm, Libre.fm, ListenBrainz)
  • Chromaprint-based sonic similarity (alternative to AudioMuse-AI)
  • Jukebox: Web UI control panel, and more backends (Snapcast, DLNA/UPnP, AirPlay)
  • Web UI player and library browser (in-browser playback, sortable track table)
  • Playlist export to Spotify, Deezer, Tidal, etc
  • Augmented public shares for read-only setups (serve versions with clean tags and embedded art)
  • Share options: Selectable format/bitrate for shares downloads
  • Share options: Expiry or download-count limits, password protection
  • Proper OIDC support (Authelia, Authentik, etc)
  • Prometheus metrics
  • Backup/restore settings and BeetstreamNext data

Documentation

Read the full docs for installation, configuration reference, all features in detail, API coverage, reverse-proxy/CORS setup, and tested clients.

Quick start

git clone https://github.com/FlorentLM/BeetstreamNext.git
cd BeetstreamNext
pip install .

Enable it in Beets' config.yaml:

plugins: beetstreamnext

Then run it:

beet beetstreamnext

BeetstreamNext can also run standalone, see Installation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Releases

Sponsor this project

Packages

Contributors

Languages