ab4db641b061dd13a57d4e8f5e24b327cf5ee738
Adds the Prisma schema (Request/Job models, RequestStatus/JobState enums), a Prisma client singleton at web/src/lib/db.ts, and the init_request_job migration, applied and verified against Postgres. Also publishes the db service's port (5432:5432) in docker-compose.yml so host-run Prisma commands can reach localhost:5432 for local dev.
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:
- Acquisition engine — in progress. Given an album/track, find the best available source, download it, tag it against MusicBrainz, and file it into a clean library.
- Library manager — Lidarr-style monitoring, wanted lists, auto-grab of new releases.
- 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.
Description
Self-hosted multi-source music acquisition tool replacing Lidarr (Qobuz/Soulseek/YouTube/Spotify)
Languages
Python
50.7%
TypeScript
45.4%
CSS
3.6%
Dockerfile
0.2%
Shell
0.1%