洛雪有 Web 版了!多音源聚合 + Docker 部署,NAS 必装
MelodyHub[1] 是基于 lx-music-desktop 核心逻辑改写的 Web 版音乐服务,用浏览器就能访问,支持网易云、QQ 音乐、酷我、酷狗等平台的自定义音源,下载任务跑在服务器端,有断点续传和队列管理,还用 WebSocket 推送进度。前端是 Vue 3 + Element Plus,数据库用 SQLite。
部署过程不复杂。fnOS 自带 Docker 环境,整个过程大概五分钟。
准备工作
登录 fnOS 的管理界面,打开「文件管理器」,在你常用的数据盘下新建两个文件夹,比如:
/vol1/Docker/melodyhub/data
/vol1/Docker/melodyhub/music前者存数据库和配置,后者存下载的音乐文件。路径可以按自己习惯改,后面配置时对应上就行。
用 Docker Compose 部署
fnOS 支持直接在界面里粘贴 Compose 配置。打开「Docker」应用,选择「项目」,新建一个项目,把下面这段配置粘进去:
services:
melodyhub:
image: geelonn/melodyhub:latest
container_name: melodyhub
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /vol1/Docker/melodyhub/data:/app/data
- /vol1/Docker/melodyhub/music:/app/music
environment:
- NODE_ENV=production
- PORT=3000
- DATA_DIR=/app/data
- MUSIC_DIR=/app/music
- JWT_SECRET=换成你自己的随机字符串
- TZ=Asia/Shanghai注意两点:volumes 里的本机路径要换成你刚才创建的实际路径;JWT_SECRET 一定要改,随便打一串字母数字就行,这是登录鉴权用的密钥,用默认值有安全风险。
点「部署」,等镜像拉取完成,容器就跑起来了。
使用步骤
第一步:打开界面
容器启动后,在浏览器里打开 http://你的NAS局域网IP:3000,就能看到 MelodyHub 的 Web 界面。局域网内的手机、电脑、平板都可以直接访问,不需要装任何客户端。
第二步:上传音源
MelodyHub 本身不内置音源,需要你手动上传兼容 lx-music-desktop 格式的自定义源文件(.js 格式)。进入「系统设置」→「音源管理」,点上传,选择你的源文件。
没有音源的话,可以去 lx-music 相关社区找,GitHub 上搜 lx-music-source 也能找到一些公开维护的源。上传后列表里会出现对应的音源名称,说明加载成功。
第三步:搜索和下载音乐
在首页搜索框输入歌曲名或歌手名,从下拉菜单选择要用的音源,点搜索。结果出来后,点击歌曲右侧的下载按钮,任务会进入服务端队列。
进入「下载管理」页面可以看到所有任务的状态和进度,WebSocket 实时刷新,不用手动刷页面。下载完成的文件存在你挂载的 music 目录里,可以直接用其他播放器或媒体服务器(比如 Jellyfin、Navidrome)读取。
第四步:管理已下载的歌曲
进入「歌曲管理」,可以查看所有已下载的曲目,支持编辑元数据(歌名、艺术家、专辑、封面等)和批量操作。如果下载的文件 tag 信息不完整,在这里手动补一下,后续接入媒体服务器时识别会更准确。
几个常用的环境变量
默认配置跑起来就够用,但如果你有特殊需求,可以在 Compose 的 environment 段里加:
如果你的 NAS 走了代理出口,填上代理地址可以让音源请求走代理,有时候能解决某些平台的连接问题。
遇到问题怎么排查
容器起不来,先看日志。在 fnOS 的 Docker 界面里点进容器详情,有日志选项卡;或者用 SSH 连上 NAS 执行:
docker logs melodyhub音频播放不了,大概率是音源返回的链接有问题,或者音源文件已经失效。打开浏览器的开发者工具(F12),看 Console 和 Network 面板,报错信息会比较直接。
下载任务一直失败,先检查 music 目录的写入权限,再看磁盘剩余空间。fnOS 的文件管理器里右键文件夹可以查看和修改权限,确保 Docker 容器对该目录有写权限。
部署完之后,MelodyHub 就是你 NAS 上的私人音乐服务,局域网内任何设备用浏览器都能访问,下载的文件留在本地,不依赖任何第三方云存储。项目还在开发中,播放列表管理和移动端适配在计划里,可以关注 GitHub 仓库[2] 跟进更新。
引用链接
[1]MelodyHub: https://github.com/gefl24/melody-hub
[2]GitHub 仓库: https://github.com/gefl24/melody-hub