Files
metadata-agregator/docs/research/lms
Alexander a1f6701bac 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
2026-04-28 16:28:53 +02:00
..

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.nfo files 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)