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
51 lines
1.3 KiB
Markdown
51 lines
1.3 KiB
Markdown
# MusicBrainz Server
|
|
|
|
## Overview
|
|
|
|
MusicBrainz is the canonical open-source music encyclopedia. It's a community-maintained database that collects music metadata and makes it available to the public via a REST API.
|
|
|
|
## Key Features
|
|
|
|
- **Coverage**: 100M+ tracks, comprehensive artist/release/recording/work metadata
|
|
- **Data**: Relationships, genres, tags, ratings, ISRCs, barcodes
|
|
- **API**: REST (XML/JSON)
|
|
- **License**: GPL-2.0 (code), CC0/CC BY-NC-SA (data)
|
|
|
|
## Source
|
|
|
|
| Resource | URL |
|
|
|----------|-----|
|
|
| **Repository** | https://github.com/metabrainz/musicbrainz-server |
|
|
| **Docker Setup** | https://github.com/metabrainz/musicbrainz-docker |
|
|
| **API Documentation** | https://musicbrainz.org/doc/MusicBrainz_API |
|
|
| **Website** | https://musicbrainz.org |
|
|
|
|
## API Examples
|
|
|
|
```bash
|
|
# Lookup artist by MBID
|
|
GET /ws/2/artist/{mbid}?fmt=json
|
|
|
|
# Search releases
|
|
GET /ws/2/release?query=artist:nirvana&fmt=json
|
|
|
|
# Lookup by ISRC
|
|
GET /ws/2/recording?isrc=USEE10001993
|
|
```
|
|
|
|
## Self-Hosting
|
|
|
|
Requires PostgreSQL + Solr. Use the official Docker setup:
|
|
|
|
```bash
|
|
git clone https://github.com/metabrainz/musicbrainz-docker.git
|
|
cd musicbrainz-docker
|
|
docker-compose up
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Foundation for most other music metadata projects
|
|
- Replication support to keep local mirror up-to-date
|
|
- MetaBrainz Foundation (non-profit) maintains it
|