项目简介
LMS(Lightweight Music Server)是一款专为个人用户设计的自托管音乐流媒体服务平台。通过简洁的Web界面,用户可以随时随地访问和管理个人音乐收藏。该项目具备以下核心优势:
- 智能推荐系统:基于用户的历史播放记录和个人偏好,自动生成个性化音乐推荐列表
- 实时音频转码:支持多种音频格式的实时转换,确保设备兼容性并优化网络带宽使用
- 完整歌词支持:同步显示歌曲歌词信息
- 高效推荐算法:通过先进的数据分析技术持续优化音乐推荐质量
项目源代码仓库:https://github.com/epoupon/lms
在线演示地址:http://lms-demo.poupon.dev/
部署配置
使用Docker Compose进行快速部署的配置文件示例如下:
services:
lms:
image: docker.1ms.run/epoupon/lms
container_name: lms
restart: unless-stopped
ports:
- 5082:5082
volumes:
- <path-to-local-musics>/:/music:ro # 请修改为本地音乐文件夹的实际路径
- <path-to-lms-config>:/var/lms # 指定任意目录用于存储LMS配置文件
为确保镜像拉取速度,配置中已集成Docker镜像加速地址docker.1ms.run,该地址来源于公开网络资源,可用性无法长期保证。
功能特性详解
LMS音乐服务器具备丰富的功能特性:
- 完整支持Subsonic/OpenSubsonic API标准
- 多维度标签系统:支持流派、心情、艺术家等多种元数据标签,实现精准音乐分类
- 完善的艺术家关系管理:涵盖作曲家、指挥家、作词家、混音师、表演者、制作人等角色
- 多样化发行类型支持:包括专辑、单曲、EP、编辑版、现场版等
- MusicBrainz标识符集成:有效处理重复的艺术家和发行名称
- ListenBrainz同步功能:记录收听历史并同步用户反馈
- 智能推荐引擎
- 多音乐库并行管理
- ReplayGain音量标准化
- 自适应音频转码技术
- 多认证后端用户管理系统
- 完整播放列表功能
- 全面歌词支持:兼容LRC格式、文件内嵌歌词、文本文件歌词及元数据内嵌歌词,支持同步与非同步显示
安装与使用体验
完成Docker Compose部署后,在浏览器中访问http://<NAS-IP>:5082即可进入LMS管理界面。首次使用时需要注册管理员账户:

请注意设置符合长度要求的复杂管理员密码。注册成功后页面不会自动跳转,需要手动刷新才能进入主界面。
进入系统后,首先需要扫描本地音乐文件。点击右上角"设置"菜单,选择"Libraries"选项,添加新的音乐库。在Docker Compose配置中指定的挂载目录为/music,因此添加音乐库时也应相应设置为/music路径:

继续在设置菜单中找到扫描功能入口:

点击立即扫描按钮,等待扫描进程完成。切换到专辑页面时可能显示为空,这是因为默认过滤器未正确配置。将默认过滤器切换至"全部"选项即可显示已扫描的音乐内容:

系统支持自定义过滤器设置,可根据专辑、文件夹、音轨、音乐库等多种条件进行筛选:

成功配置后即可开始播放音乐专辑:

系统评价总结
- 采用C++语言开发,资源占用较低,运行效率优秀
- 项目发展历史较长,功能模块成熟稳定
- 对中文专辑支持存在改进空间,字符编码问题可能导致显示异常
- 用户界面本地化程度有待提升
- 作为基础音乐流媒体服务方案表现合格,但与Navidrome、Mstream等同类产品相比功能略显简单