轻量级私有云音乐服务器QM-Music

简介

什么是 QM-Music ?

QM-Music 是一个基于 Subsonic 构建的轻量级私有云音乐服务器,是专为音乐爱好者设计的轻量级高性能解决方案。支持 Docker 一键部署,完美兼容 Subsonic 生态客户端(如 音流/Amperfy/substreamer/feishin/music-assistant),让您随时随地安全访问个人音乐库。

主要特点

  • 🐳 Docker 容器化部署 - 快速启动,零环境依赖
  • 🌱 轻量级部署 - 仅需约 150MB 内存占用,低资源消耗
  • 🎧 Subsonic 协议兼容 - 可在支持 subsonic api 的客户端连接使用
  • 高性能媒体服务 - 低延迟流媒体传输
  • 🔄 智能转码支持 - 按需开启 libmp3lame/acc 转码节省流量
  • 📁 多格式支持 - 全面兼容 MP3/FLAC/AAC/WAV 等格式
  • 🔒 私有化部署 - 完全掌控您的音乐数据
  • 🇨🇳 中文曲库友好 - 支持繁简字互搜,中文排序/检索优化

应用场景

  • 个人音乐库管理:用户可以独立管理自己的音乐文件,包括上传、分类和播放
  • 家庭共享 :家庭成员可以通过 QM-Music 共享个人音乐
  • 自托管解决方案:适合希望将音乐数据保存在个人服务器上的用户
  • 流媒体服务:为远程访问音乐提供可靠的流媒体服务,用户可以通过各种兼容的客户端播放音乐
  • 音乐探索:用户可通过该平台进行音乐的搜索和发现,享受个性化推荐

QM-Music 提供了一个灵活、功能强大的私有音乐服务,旨在方便用户访问和管理音乐库,支持多种音频格式和设备,是音乐爱好者的理想选择。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 qmmusic ,选择第一个 qmmusic/qm-music,版本选择 latest

本文写作时, latest 版本看起来比 v1.9.8 要更新一些;

docker 文件夹中,创建一个新文件夹 qm-music,并在其中建三个子文件夹 cachedbmusic

文件夹 装载路径 说明
docker/qm-music/cache /data/qm-music/cache 缓存目录
docker/qm-music/db /data/qm-music/db 数据库及元数据存储目录
docker/qm-music/music /data/qm-music/music_dir 音乐文件存储目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
6688 6688

环境

可变
QM_FFMPEG_ENABLE 默认为 false,设为 true 启用智能音频转码(推荐在户外使用的用户开启),支持按网络状况自动切换 libmp3lame/acc 编码,有效节省流量消耗
TZ 时区设置,国内用户建议设为 Asia/Shanghai

更多环境变量请参考官方的说明:https://github.com/chenqimiao/qm-music?#%EF%B8%8F-配置说明

关于 SpotifyLast.fm 免费账号的申请过程,老苏在 音乐流媒体服务器Navidrome 一文中介绍过

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 qm-music 和 子目录
mkdir -p /volume1/docker/qm-music/{cache,db,music}

# 进入 qm-music 目录
cd /volume1/docker/qm-music

# 运行容器
docker run -d \
  --restart unless-stopped \
  --name qm-music \
  -p 6688:6688 \
  -v $(pwd)/music:/data/qm-music/music_dir \
  -v $(pwd)/db:/data/qm-music/db \
  -v $(pwd)/cache:/data/qm-music/cache \
  -e QM_FFMPEG_ENABLE=true \
  -e TZ=Asia/Shanghai \
  qmmusic/qm-music:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  qm-music:
    image: qmmusic/qm-music:latest
    container_name: qm-music
    restart: unless-stopped
    ports:
      - "6688:6688"
    volumes:
      - ./music:/data/qm-music/music_dir
      - ./db:/data/qm-music/db
      - ./cache:/data/qm-music/cache
    environment:
      - QM_FFMPEG_ENABLE=true
      - TZ=Asia/Shanghai

然后通过 SSH 登录到您的群晖,执行下面的命令:

bash 复制代码
# 新建文件夹 qm-music 和 子目录
mkdir -p /volume1/docker/qm-music/{cache,db,music}

# 进入 qm-music 目录
cd /volume1/docker/qm-music

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:6688 就能看到登录界面

默认账号密码为: admin/admin

登录后记得修改密码

主界面

将音乐文件放入 music

刷新曲库

客户端

本来还想用古老的 Subsonic Music Streamer,毕竟文件比较小,可能与最新的系统存在兼容性问题,可以播放但是有报错,看着比较不爽

因此改用了 StreamMusic(音流),打开后选择 Subsonic

  • 主机地址:填写 http://群晖IP:6688
  • 用户名:填入管理员账号 admin
  • 密码:填入修改后的管理员密码

从安全角度考虑,建议在后台创建没有管理员权限的账号登录;

如果设置没问题的话,会看到登录成功的提示

可以看到我们拷入的专辑

可以直接播放

参考文档

chenqimiao/qm-music: 🎧☁️ Your Private Music Service

地址:https://github.com/chenqimiao/qm-music
gitbobobo/StreamMusic: 支持 Android、iOS、macOS、Windows 平台的 Subsonic/Navidrome/Jellyfin/Emby/AudioStation 客户端。

地址:https://github.com/gitbobobo/StreamMusic

相关推荐
热金鼠3 小时前
Ubuntu 22.04 Docker 完整使用手册(1)
docker
热金鼠4 小时前
Ubuntu 22.04 Docker 完整使用手册(2)
docker
天才测试猿7 小时前
Jenkins+Docker自动化测试全攻略
自动化测试·软件测试·python·测试工具·docker·jenkins·测试用例
JAVA学习通7 小时前
《大营销平台系统设计实现》 - 营销服务 第8节:抽奖规则树模型结构设计
运维·决策树·docker·容器·责任链模式
无相孤君13 小时前
我用 Docker + JunimoServer 搭了一个星露谷物语无头服,还顺手做了个本地管理面板
linux·游戏·docker·开源
爱吃龙利鱼13 小时前
ubuntu2026.04部署k8s1.36版本的傻瓜式教程(注:运行时为docker,网络插件为calico)
运维·网络·笔记·docker·云原生·kubernetes
会编程的土豆14 小时前
Docker 日常操作笔记(开发最常用命令)
笔记·docker·容器
杨浦老苏16 小时前
Twitter风格RSS聚合阅读器DanB-RSS
docker·群晖·rss
白日做梦Q16 小时前
Docker部署YOLOv8训练+推理完整教程(含报错解决)
yolo·docker·容器
终端行者16 小时前
企业级Jenkins Pipeline 实战 Docker构建+Ansible发布
ci/cd·docker·ansible·jenkins