Open source, self-hosted music server that streams your own library to any browser or mobile app, compatible with Subsonic clients.
epoupon/lms
A self-hosted music server with a web interface for streaming your own music collection from anywhere.
- Stars
- 1,697
- Forks
- 92
- Open issues
- 87
- Last commit
- 2 days ago
What is it?
LMS (Lightweight Music Server) is self-hosted music streaming software. It scans your local music libraries and lets you listen to them through a web interface, and it also exposes a Subsonic/OpenSubsonic API so compatible client apps can connect.
It reads multi-valued tags such as genre, mood and artists, supports MusicBrainz identifiers to tell apart artists and releases with the same name, and groups albums by release group so remasters and reissues can be shown separately. Scrobbling is supported through ListenBrainz and Last.fm, and ListenBrainz 'love' feedback can be synchronized. Podcasts, playlists (m3u/m3u8), lyrics (lrc, txt and embedded), ReplayGain and on-the-fly transcoding are included.
For discovery, LMS offers tag-based filters, similar artist and album recommendations based on audio similarity or tags, and a radio mode that keeps filling the play queue with related tracks.
Key features
- 01Subsonic/OpenSubsonic API support for compatible client apps
- 02Web interface with multi-library support and multiple user accounts
- 03ListenBrainz and Last.fm scrobbling, plus ListenBrainz love feedback sync
- 04Recommendations by audio similarity or tags, and a radio mode
- 05Podcasts, m3u/m3u8 playlists, and lyrics (lrc, txt, embedded)
- 06ReplayGain support and audio transcoding to reduce bandwidth
Use cases
- Streaming a personal FLAC or MP3 collection to a phone or browser at home or remotely
- Running a music server on a low-power device such as a Raspberry Pi
- Using a Subsonic-compatible mobile app with a self-hosted library
- Keeping listening history in sync with ListenBrainz or Last.fm
Quick start
- 1
Follow the installation guide in INSTALL.md (the README gives no inline install commands)
Things to know
- Licensed under GPL-3.0, a copyleft license that requires derivative works to remain open source.
- The default audio-similarity recommendation mode can be slow to build, especially on low-power hardware like a Raspberry Pi 4.
In collections
Topics
FAQ
- What is lms?
- A self-hosted music server with a web interface for streaming your own music collection from anywhere. LMS (Lightweight Music Server) is self-hosted music streaming software. It scans your local music libraries and lets you listen to them through a web interface, and it also exposes a Subsonic/OpenSubsonic API so compatible client apps can connect.
- Is lms free to use? What license does it have?
- lms is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is lms still maintained?
- Actively maintained. The last commit to lms was on Nov 5, 2026.
- What can I use lms for?
- Streaming a personal FLAC or MP3 collection to a phone or browser at home or remotely Running a music server on a low-power device such as a Raspberry Pi Using a Subsonic-compatible mobile app with a self-hosted library Keeping listening history in sync with ListenBrainz or Last.fm
- How do I install lms?
- Follow the installation guide in INSTALL.md (the README gives no inline install commands)
- Where can I get lms?
- The source code and installation instructions are on GitHub: https://github.com/epoupon/lms
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted music streaming server that lets you play your own music library from a web browser or mobile app.
A dockerized app that scrobbles your music plays from many sources, such as Spotify, Plex and Jellyfin, to clients like Last.fm and ListenBrainz.
A self-hosted music streaming server that plays your collection in a web app, mobile apps and desktop builds.
A self-hosted music streaming server and browser-based player for your own local audio files, with a Spotify-like interface.
An extensible Python music server that plays local, Spotify, SoundCloud and radio audio, controlled by any MPD or web client.