a1f6701bac
- 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
59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
# MiniMediaMetadataAPI
|
|
|
|
## Overview
|
|
|
|
A self-hosted metadata API that aggregates data from multiple music providers (Spotify, Tidal, MusicBrainz, Deezer, Discogs) with a low memory footprint.
|
|
|
|
## Key Features
|
|
|
|
- **Providers**: MusicBrainz, Spotify, Tidal, Deezer, Discogs
|
|
- **Memory**: <250MB footprint
|
|
- **Database**: PostgreSQL
|
|
- **API**: REST
|
|
- **License**: GPL-3.0
|
|
|
|
## Source
|
|
|
|
| Resource | URL |
|
|
|----------|-----|
|
|
| **Repository** | https://github.com/MusicMoveArr/MiniMediaMetadataAPI |
|
|
| **Related Scanner** | https://github.com/MusicMoveArr/MiniMediaScanner |
|
|
|
|
## API Endpoints
|
|
|
|
```bash
|
|
# Search by provider
|
|
GET /api/artists?provider=Any&query=radiohead
|
|
GET /api/artists?provider=Spotify&query=radiohead
|
|
GET /api/artists?provider=MusicBrainz&query=radiohead
|
|
|
|
GET /api/albums?provider=Deezer&query=ok+computer
|
|
GET /api/tracks?provider=Tidal&query=paranoid+android
|
|
```
|
|
|
|
## Self-Hosting
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
api:
|
|
container_name: MiniMediaMetadataAPI
|
|
image: ghcr.io/musicmovearr/minimediametadataapi:latest
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 256M
|
|
ports:
|
|
- "56232:8080"
|
|
volumes:
|
|
- ./appsettings.json:/app/appsettings.json
|
|
restart: unless-stopped
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Shares database with MiniMediaScanner
|
|
- Query by provider type (Any, Tidal, MusicBrainz, Spotify, Deezer, Discogs)
|
|
- Lightweight alternative to running multiple provider APIs
|
|
- Active development (last updated March 2026)
|