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
Navidrome
Overview
Modern music server and streamer compatible with Subsonic/Airsonic clients. Lightweight, fast, and self-contained with web-based UI.
Key Features
- Popularity: Very high (one of the most popular self-hosted music servers)
- API: OpenSubsonic v1.16.1
- Metadata: Library scans + Last.fm integration
- Language: Go
- License: GPL-3.0
Source
| Resource | URL |
|---|---|
| Repository | https://github.com/navidrome/navidrome |
| Website | https://navidrome.org |
| Documentation | https://www.navidrome.org/docs |
Key Features
- Very low resource usage (Go binary)
- Handles large libraries (tested with 900K+ songs)
- Multi-user support with individual settings
- Transcoding on-the-fly
- Last.fm scrobbling
- Lyrics support (embedded and
.lrcfiles) - Multiple themes
API Endpoints
# Subsonic API
GET /rest/getArtists
GET /rest/getArtist?id={artistId}
GET /rest/getAlbum?id={albumId}
GET /rest/getSong?id={songId}
GET /rest/search3?query={query}
Self-Hosting
# Docker
docker run -d \
--name navidrome \
-p 4533:4533 \
-v /path/to/music:/music:ro \
-v /path/to/data:/data \
deluan/navidrome
# Or download binary
# https://github.com/navidrome/navidrome/releases
Notes
- Compatible with many Subsonic clients (DSub, Symfonium, Ultrasonic, etc.)
- Very lightweight (suitable for Raspberry Pi)
- Web UI included
- Primary focus is streaming, but provides comprehensive metadata API