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:
@@ -0,0 +1,57 @@
|
||||
# Melodee
|
||||
|
||||
## Overview
|
||||
|
||||
Industrial-grade self-hosted streaming music server. Comprehensive music management and streaming system with metadata enrichment from multiple sources.
|
||||
|
||||
## Key Features
|
||||
|
||||
- **Stars**: 62
|
||||
- **APIs**: OpenSubsonic, Jellyfin API, Native REST API
|
||||
- **Metadata Sources**: MusicBrainz (local cache), Last.fm, Spotify, iTunes, Deezer
|
||||
- **Formats**: AAC, AC3, M4A, FLAC, OGG, APE, MP3, WAV, WMA, and more
|
||||
- **License**: MIT
|
||||
|
||||
## Source
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| **Repository** | https://github.com/melodee-project/melodee |
|
||||
| **Website** | https://melodee.org |
|
||||
| **Documentation** | https://melodee.org/docs |
|
||||
|
||||
## Architecture
|
||||
|
||||
Multi-stage pipeline:
|
||||
1. **Inbound** - Scan detects new files
|
||||
2. **Ingestion** - Convert, normalize tags, apply cleanup rules
|
||||
3. **Staging** - Optional manual curation
|
||||
4. **Storage** - Publish to libraries
|
||||
5. **Indexed** - Fast search and streaming via APIs
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Language**: C# (.NET 10)
|
||||
- **UI**: Blazor (Radzen components)
|
||||
- **Scheduling**: Quartz.NET
|
||||
- **Database**: PostgreSQL
|
||||
|
||||
## APIs
|
||||
|
||||
- **OpenSubsonic** - Compatible with Subsonic clients
|
||||
- **Jellyfin API** - Compatible with Finamp, Feishin, Streamyfin
|
||||
- **Native REST** - `/scalar/v1` with OpenAPI spec at `/openapi/v1.json`
|
||||
|
||||
## Self-Hosting
|
||||
|
||||
```bash
|
||||
docker pull ghcr.io/melodee-project/melodee:latest
|
||||
docker run -p 8080:8080 -v /path/to/music:/music melodee
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Designed for homelab (runs on Raspberry Pi to full servers)
|
||||
- MusicBrainz local cache with monthly updates
|
||||
- Real-time transcoding (MP3, Ogg, Opus)
|
||||
- Scrobbling support (Last.fm)
|
||||
Reference in New Issue
Block a user