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
1.5 KiB
1.5 KiB
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:
- Inbound - Scan detects new files
- Ingestion - Convert, normalize tags, apply cleanup rules
- Staging - Optional manual curation
- Storage - Publish to libraries
- 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/v1with OpenAPI spec at/openapi/v1.json
Self-Hosting
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)