中文 | English
🎧☁️ Your Private Music Service
QM-Music 是一个基于 Subsonic 构建的轻量级私有云音乐服务器,专为音乐爱好者设计的轻量级高性能解决方案。支持 Docker 一键部署,完美兼容 Subsonic 生态客户端(如音流/Amperfy/substreamer/feishin/music-assistant),让您随时随地安全访问个人音乐库。
- 🐳 Docker 容器化部署 - 快速启动,零环境依赖
- 🌱 轻量级部署 - 仅需约150MB内存占用,低资源消耗
- 🎧 Subsonic 协议兼容 - 可在支持 subsonic api 的客户端连接使用
- ⚡ 高性能媒体服务 - 低延迟流媒体传输
- 🔄 智能转码支持 - 按需开启 libmp3lame/acc 转码节省流量
- 📁 多格式支持 - 全面兼容 MP3/FLAC/AAC/WAV 等格式
- 🔒 私有化部署 - 完全掌控您的音乐数据
docker run -d \
--name qm-music \
-p 6688:6688 \
-v [host_music_file_path]:/data/qm-music/music_dir \
-v [host_path_db_path]:/data/qm-music/db \
-v [host_path_cache_path]:/data/qm-music/cache \
-e QM_FFMPEG_ENABLE=true \
-e TZ=Asia/Shanghai \
-e QM_SPOTIFY_ENABLE=false \
-e QM_SPOTIFY_CLIENT_ID=[QM_SPOTIFY_CLIENT_ID] \
-e QM_SPOTIFY_CLIENT_SECRET=[QM_SPOTIFY_CLIENT_SECRET] \
-e QM_LASTFM_ENABLE=false \
-e QM_LASTFM_API_KEY=[QM_LASTFM_API_KEY] \
-e QM_REFRESH_AUTO=true \
--restart unless-stopped \
qmmusic/qm-music:latest
version: '3'
services:
qm-music:
container_name: qm-music
image: qmmusic/qm-music:latest
ports:
- "6688:6688"
volumes:
- [host_music_file_path]:/data/qm-music/music_dir
- [host_path_db_path]:/data/qm-music/db
- [host_path_cache_path]:/data/qm-music/cache
environment:
- QM_FFMPEG_ENABLE=true
- TZ=Asia/Shanghai
- QM_SPOTIFY_ENABLE=false
- QM_SPOTIFY_CLIENT_ID=[QM_SPOTIFY_CLIENT_ID]
- QM_SPOTIFY_CLIENT_SECRET=[QM_SPOTIFY_CLIENT_SECRET]
- QM_LASTFM_ENABLE=false
- QM_LASTFM_API_KEY=[QM_LASTFM_API_KEY]
- QM_REFRESH_AUTO=true
restart: unless-stopped
- 环境变量
QM_FFMPEG_ENABLE=true
启用智能音频转码(推荐在户外使用的用户开启),支持按网络状况自动切换 libmp3lame/acc 编码,有效节省流量消耗(默认关闭)TZ=Asia/Shanghai
请务必根据所在地区设置QM_SPOTIFY_ENABLE=false
非必须 开启后,可以获得更多元数据支持 SPOTIFY KEY 申请地址QM_SPOTIFY_CLIENT_ID
非必须QM_SPOTIFY_CLIENT_SECRET
非必须QM_LASTFM_ENABLE=false
非必须 开启后,可以获得更多元数据支持 LAST FM KEY 申请地址QM_LASTFM_API_KEY
非必须QM_REFRESH_AUTO=true
非必须 定时刷新曲库开关 默认开启QM_CLEAN_PLAY_HISTORY_AUTO=true
非必须 定时清理播放记录开关 默认开启QM_SAVE_PLAY_HISTORY_MONTH=24
非必须 保留播放记录月份数 默认24
- 卷挂载
/data/qm-music/music_dir
:音乐文件存储目录/data/qm-music/db
:数据库及元数据存储目录(请勿存放其他文件)/data/qm-music/cache
: 缓存文件
- 访问
http://[Server IP]:[Port]
进入管理界面 - 使用默认凭证登录:
用户名:admin
密码:admin
- 在首页立即更改默认密码
- 前往「曲库管理」点击【刷新曲库】按钮
- 等待曲目元数据解析完成(可通过日志查看进度)
- 在客户端应用(音流/feishin/Amperfy/substreamer/music-assistant等)使用以下连接参数:
服务器地址: http://[服务器IP]:6688 账户: 修改后的管理员账号 密码: 修改后的管理员密码
本项目基于 Apache License 2.0 开源协议发布,您可以:
- 二次开发时需保留原始版权声明
- 修改后的衍生版本需做明显变更说明
- 不提供任何明示或暗示的担保
完整协议内容请查看 LICENSE 文件,使用即表示您同意协议条款。
本项目仅供学习和研究目的,不得用于任何商业活动。用户在使用本项目时应遵守所在地区的法律法规,对于违法使用所导致的后果,本项目及作者不承担任何责任。 本项目可能存在未知的缺陷和风险(包括但不限于设备损坏和账号封禁等),使用者应自行承担使用本项目所产生的所有风险及责任。 作者不保证本项目的准确性、完整性、及时性、可靠性,也不承担任何因使用本项目而产生的任何损失或损害责任。 使用本项目即表示您已阅读并同意本免责声明的全部内容。
- Docker 容器化部署 - 一键启动,轻量无依赖
- Subsonic 协议全兼容 - 完美适配音流/Amperfy/substreamer/music-assistant 等客户端
- 智能音频转码 - 动态切换 libmp3lame/acc 编码(按需启用),节省带宽流量
- 多格式支持 - MP3/FLAC/AAC/WAV 等主流格式全覆盖
- 低资源占用 - 运行内存仅需约 150MB
- 多用户体系 - 独立账号系统与权限管理
- 个性化歌单 - 支持创建/管理自定义播放列表
- 收藏与喜欢 - 实时同步的收藏夹功能
- 歌词同步 - 智能匹配本地与在线歌词资源
- 自动化曲库 - 定时监测音乐目录变动,自动刷新元数据
- 高效元数据解析 - 精准识别 ID3 标签与专辑信息
- 结构化展示 - 专辑/艺术家/流派多维分类浏览
- 云端播放统计 - 记录播放历史与用户偏好
- 全局搜索 - 支持歌曲/专辑/艺术家关键词检索
- 智能推荐 - 基于风格的相似歌曲与歌手推荐
- 流派分类 - 按音乐风格快速筛选曲目
- 支持外置数据库
- 跨平台客户端开发
- Web 播放器功能增强
- 单元测试覆盖率提升
...
如果这个项目对您有帮助,请帮忙点个Star或打赏支持(请作者喝一杯快乐水(,,・ω・,,))!您的支持是我们持续维护和改进的最大动力!