feat: initial implementation of metadata aggregator

- gRPC service with MusicBrainz provider
- PostgreSQL schema with migrations
- Service layer with database-first caching
- Repository pattern for data access
- YAML configuration support
- Research documentation for 17 music metadata projects
This commit is contained in:
Alexander
2026-04-28 16:27:14 +02:00
commit a1f6701bac
163 changed files with 95884 additions and 0 deletions
@@ -0,0 +1,54 @@
# Lidarr Metadata API
## Overview
Custom metadata API that powers Lidarr (music collection manager). Built on top of MusicBrainz with enhanced artist/album data.
## Key Features
- **Purpose**: Metadata backend for Lidarr
- **Data Source**: MusicBrainz PostgreSQL + Solr
- **API**: REST
- **License**: GPL-3.0
## Source
| Resource | URL |
|----------|-----|
| **Repository** | https://github.com/Lidarr/LidarrAPI.Metadata |
| **Lidarr Main** | https://github.com/Lidarr/Lidarr |
| **Documentation** | https://wiki.servarr.com/lidarr |
## Architecture
Requires:
- MusicBrainz PostgreSQL database
- Solr search server
```
docker-compose.yml # Base services (MusicBrainz DB, Solr)
docker-compose.dev.yml # Dev mode (exposed ports)
docker-compose.prod.yml # Production (metadata service in Docker)
```
## Self-Hosting
```bash
git clone https://github.com/Lidarr/LidarrAPI.Metadata.git
cd LidarrAPI.Metadata
# Start with Docker Compose
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
# Or run directly
python server.py
# or
lidarr-metadata-server
```
## Notes
- Powers the Lidarr ecosystem (music management for *arr stack)
- Enhanced MusicBrainz data with better album matching
- Community-hosted instance at `api.musicinfo.pro`
- Requires significant resources (~350GB for full MusicBrainz mirror)