Files
Lyra/README.md
T
Jonathan 3adefe929b Add Lyra acquisition-engine design spec, README, gitignore
Initial design for slice 1 (acquisition engine): three-container
architecture (Next.js UI, Python worker, slskd), the six-stage
pipeline, source-adapter contract, data model, error handling, and
testing strategy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:14:55 +02:00

1.2 KiB

Lyra

Self-hosted, multi-source music acquisition and library tool — a replacement for Lidarr + NZBget. Lyra discovers, ranks, downloads, tags, and organizes music across sources of differing quality: Qobuz (lossless/hi-res), Soulseek (P2P), YouTube (universal lossy fallback), and Spotify (discovery/metadata only).

Status

Early design. Built in three slices:

  1. Acquisition enginein progress. Given an album/track, find the best available source, download it, tag it against MusicBrainz, and file it into a clean library.
  2. Library manager — Lidarr-style monitoring, wanted lists, auto-grab of new releases.
  3. Discovery — Spotify/recommendation-driven finding of new music.

Architecture

Three Docker containers on a home server:

  • Next.js app — UI + API (search, request, queue, progress, settings).
  • Python worker — all source integration (streamrip, yt-dlp, slskd client, beets/mutagen), running the six-stage acquisition pipeline.
  • slskd — off-the-shelf headless Soulseek daemon.

Postgres is the shared source of truth; a shared /music volume is the library.

See docs/superpowers/specs/ for the full design.