joshpatra 0b8682e681
CI / build-and-test (push) Canceled after 0s
CI / release-critical-tests (push) Canceled after 0s
CI / csharp-format (push) Canceled after 0s
CI / webui (push) Canceled after 0s
CI / release-manifest (push) Canceled after 0s
CI / apple-contracts (push) Canceled after 0s
CI / compose-contracts (push) Canceled after 0s
test(playback): use curl for full-song live checks
2026-09-22 20:29:25 -04:00
2026-01-03 22:04:53 +01:00

Allstarr

Build Status Docker Image License

Your music, connected.

Allstarr is a self-hosted music gateway for Jellyfin and Subsonic/OpenSubsonic clients. It sits in front of an existing media server, preserves normal local-library behavior, and adds provider-neutral search, matching, playback, playlists, lyrics, scrobbling, listening history, and discovery.

Beta status: 3.1.0-beta.1 is a breaking fresh-install baseline intended for testing. Keep the previous deployment stopped and available for rollback. Do not let two Allstarr versions write the same cache, download, kept, or managed-library paths.

What Allstarr owns

  • PostgreSQL stores users, encrypted account references, jobs, matches, playlist state, intelligence data, health, and audit records.
  • Audio and artwork remain ordinary files in mounted cache, download, kept, and managed-library folders.
  • The encryption key ring remains a separate file that must be backed up with the database.
  • The original backend library is treated as read-only input.

Allstarr does not put songs in PostgreSQL and is not a replacement for Jellyfin, Navidrome, or another media server.

Quick start

Requirements: Docker with Compose, a Jellyfin or Subsonic/OpenSubsonic backend, and a private network or authenticated access proxy.

git clone https://github.com/SoPat712/allstarr.git
cd allstarr
./allstarr.sh init

Review .env, choose BACKEND_TYPE, and confirm the bind addresses and mounted paths. Then start the stack:

./allstarr.sh up
curl --fail http://127.0.0.1:5274/health/ready

Open the dashboard at http://localhost:5275. Sign in with the selected backend, complete onboarding, choose the music library, and connect only the services you use. Music clients connect to http://localhost:5274.

The dashboard binds to loopback by default. LAN or reverse-proxy access requires an explicit trusted-network policy; see configuration. Keep Allstarr behind a private network, VPN, or authenticated proxy because it can access media-server and provider accounts.

Read the user guide for the dashboard map, setup order, playlist modes, matching, cache, and the retained development-only Intelligence workspace.

Upgrade or recover

allstarr.sh remembers enabled optional profiles, validates Compose, protects generated secrets, and never deletes volumes during normal operation.

./allstarr.sh upgrade
./allstarr.sh restore /path/to/allstarr-upgrade-….tar.gz --confirm-replace

upgrade creates a portable state export before updating. The export includes PostgreSQL state, configuration, key-ring material, provider profiles, mappings, playlist state, and durable work. Downloaded and kept music remain in their mounted folders and need their own backup policy.

Beta testers and contributors can run the checked-out source instead of a published image:

./allstarr.sh mode source
./allstarr.sh up

Later source updates use ./allstarr.sh update; the command requires a clean tracked tree, fast-forwards the current branch, rebuilds, and recreates enabled services. See deployment profiles and the storage runbook before production use.

Product map

  • Home shows current playback, listeners, health, storage, work, and recent activity.
  • Library owns provider playlists, match review, cached audio, and kept audio.
  • Integrations owns Services, encrypted Accounts, extension packages, health, and provider Routing.
  • Activity explains completed and failed work with correlation details.
  • Settings owns deployment-level behavior, matching, playback, cache policy, maintenance, backup, and recovery.

Intelligence is deferred from the first release and hidden from navigation. Its development workspace and existing deep links remain available for now; accounts, history, and opt-in background work are unchanged. See the release scope and remaining gates.

Capabilities

  • Presents one selected Jellyfin or Subsonic/OpenSubsonic surface while relaying native backend behavior.
  • Merges local results with configured metadata and playable providers.
  • Matches one recording to a local item and multiple provider identities with reviewable evidence.
  • Imports personal provider playlists once or keeps them linked, with per-user credentials and an explicit option to retain every resolved downloadable song in owner-scoped kept storage.
  • Routes streaming, download, lyrics, and artwork through typed, account-aware capabilities.
  • Runs imports, matching, downloads, playlist changes, scrobbling, and other long work as durable inspectable jobs.
  • The deferred Intelligence workspace supports opt-in history, history imports, and explained recommendations, including optional self-hosted AudioMuse-AI integration; these are not first-release commitments.
  • Installs verified third-party provider extensions through an explicit registry, permission review, staged activation, and rollback boundary.

Provider availability depends on connected accounts, optional sidecars, permissions, and health. Missing optional services reduce only the affected capability.

Optional services

Spotify lyrics and Apple/GAMDL download support are explicit Compose profiles, not default dependencies.

./allstarr.sh enable spotify-lyrics
./allstarr.sh install-apple x86_64
./allstarr.sh up

The Apple profile requires a legally obtained compatible APK/APKM supplied by the operator. Allstarr does not distribute Apple binaries. Follow the Apple provider and Spotify lyrics guides.

Documentation

Need Start here
Use the dashboard User guide
Install and configure Configuration
Back up, restore, or move Storage runbook
Check a client Client compatibility
Understand the system Architecture overview
Build an extension Extension SDK
Contribute code Contributing
Guide a coding agent Agent guide

The complete index is in docs/README.md.

License

Allstarr is licensed under GPL-3.0.

S
Description
No description provided
Readme GPL-3.0
51 MiB
0 Stars 1 Watchers 0 Forks
Languages
C# 86.2%
JavaScript 9%
HTML 3.8%
CSS 1%