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
70 lines
1.7 KiB
Markdown
70 lines
1.7 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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)
|