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
LMS (Lightweight Music Server)
Overview
Self-hosted music streaming software with comprehensive metadata support. Access your music collection from anywhere using a web interface.
Key Features
- Stars: 1,569
- API: Subsonic/OpenSubsonic
- Language: C++
- Metadata: MusicBrainz identifiers, artist relationships, release types
- License: GPL-3.0
Source
| Resource | URL |
|---|---|
| Repository | https://github.com/epoupon/lms |
| AUR Package | https://aur.archlinux.org/packages/lms |
Metadata Features
- Multi-valued tags: genre, mood, artists
- Artist relationships: composer, conductor, lyricist, mixer, performer, producer, remixer
- Release types: album, single, EP, compilation, live
- Release groups (different versions: remasters, reissues)
- MusicBrainz identifier support
- ListenBrainz integration
Supported Tags
# MusicBrainz IDs
musicbrainz_composerid, musicbrainz_conductorid
musicbrainz_lyricistid, musicbrainz_mixerid
musicbrainz_producerid, musicbrainz_remixerid
# Sort order
albumartistssort, composerssort, conductorssort
lyricistssort, mixerssort, producerssort, remixerssort
Artist Info Folder
Supports Kodi-style artist information folders:
artist.nfofiles for biography, sort name, MBID- Custom artist images
Self-Hosting
# Build from source (requires C++ compiler)
git clone https://github.com/epoupon/lms.git
cd lms
mkdir build && cd build
cmake ..
make -j$(nproc)
# Or use Docker
docker pull epoupon/lms
Notes
- Very complete metadata support
- Handles duplicate artist/release names via MBIDs
- Lightweight C++ implementation
- Active development (3 open issues)