十分钟在飞牛NAS上搭一个私有音乐同步服务器
⚠️ 声明 本文内容整理自 LX Sync Server 开源项目文档,仅供个人学习研究使用。文中涉及的所有软件、服务及相关资源,其版权归原作者所有。请勿将本文内容用于任何商业用途。
最近折腾了小王老王爱分享分享的一个音乐项目 LX Sync Server:一个把 LX Music 的同步服务端跑在NAS上。效果出乎意料地好——手机、电脑的歌单终于对上了,还顺带多了个能在浏览器里直接听歌的播放器。
这篇文章把我的部署过程整理出来,步骤不多,跟着做大概十分钟搞定。
项目介绍
LX Sync Server 是 XCQ0607 在原版洛雪音乐同步服务端基础上做的增强版。原版只管歌单同步,这个版本还塞进去了一个 Web 播放器,打开浏览器就能搜歌、听歌,支持歌词滚动和深色模式。
飞牛NAS(fnOS)自带 Docker,部署这类服务天然合适。
开始之前
确认以下几点:
飞牛NAS已完成初始化,系统版本 fnOS v0.8.x 以上
Docker 应用已安装,并配置了存储空间
LX Music 客户端已装好(手机或电脑均可)
如果要外网访问,提前想好用内网穿透还是DDNS
第一步:建好数据目录
打开飞牛NAS的文件管理器,在你的数据盘下新建两个文件夹:
/vol1/docker/lxserver/data
/vol1/docker/lxserver/logs路径随意,记住就行。data 目录是核心,丢了就是丢数据;logs 放日志,排查问题用。
第二步:Compose 部署
飞牛Docker支持 Compose 部署,找到「新增项目」入口,新建项目,把下面的内容粘进去:
services:
lxserver:
image: ghcr.io/xcq0607/lxserver:latest
container_name: lx-sync-server
restart: unless-stopped
ports:
- "9527:9527"
volumes:
- /vol1/docker/lxserver/data:/server/data
- /vol1/docker/lxserver/logs:/server/logs
environment:
- PORT=9527
- FRONTEND_PASSWORD=你的管理员密码
- LX_USER_用户名=连接密码两个地方必须改:
FRONTEND_PASSWORD 是管理控制台的登录密码,默认是 123456,别留着,改掉。
LX_USER_用户名=连接密码 是创建同步用户的方式。比如家里有两个人用,就写两行:
- LX_USER_zhangsan=密码A
- LX_USER_lisi=密码B两个账号的歌单数据在服务端完全隔离,互不干扰。
填好后点「立即部署」,等容器跑起来。
第三步:进管理控制台看看
浏览器访问:
http://飞牛NAS的局域网IP:9527输入刚才设的管理员密码,进去之后你会看到几个模块:
仪表盘是总览,显示当前连了几台设备、内存用了多少、服务跑了多久,日志也在这里实时滚动。
用户管理里能看到哪些设备在线,可以强制踢掉某台。删除用户时可以顺带清掉他在服务端的所有歌单数据和缓存,不留垃圾。
数据查看是我觉得最有用的功能。每次歌单发生变动,系统会自动存一份快照。哪天手滑删了歌单,进来找到对应快照,直接一键回滚,相当于歌单的历史版本。
WebDAV 备份是给偏执狂准备的。配置好坚果云或者其他 WebDAV 地址后,服务端每 60 分钟自动打包上传一次。换新服务器时,只要填好 WebDAV 信息,启动时会自动把数据拉回来,不用手动迁移。
第四步:试试内置的 Web 播放器
访问:
http://飞牛NAS的局域网IP:9527/music导入音源:
可以自己在网上搜落雪相关的音源,也可可以使用这个:https://github.com/pdone/lx-music-source
直接在浏览器里搜歌、听歌。音质获取失败时会自动降级,按 flac → 320k → 192k → 128k 的顺序往下试,不会直接给你报错白屏。
如果不想让这个页面公开,在 Compose 里加两行环境变量:
- ENABLE_WEBPLAYER_AUTH=true
- WEBPLAYER_PASSWORD=你的播放器密码重新部署后生效。
第五步:洛雪客户端同步
下载地址:https://github.com/lyswhut/lx-music-desktop/releases
根据自己的操作系统安装对应的客户端,以下说明以 Windows 平台为例。
打开 LX Music,进「设置 → 数据同步」:
服务器地址:
http://飞牛NAS的局域网IP:9527连接密码:填你在
LX_USER_用户名里设的那个密码
保存连接,歌单就开始同步了。多台设备用同一套账号密码,歌单自动互通。
想在外面也能用?
局域网内访问没问题了,外网有两个思路。
飞牛NAS系统设置里有内置的远程访问功能,按官方引导配就行。如果你有公网IP或者用了内网穿透,可以在 Nginx 里做反向代理,把流量转到 9527 端口。注意 WebSocket 的 Header 要加上,否则同步会断:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";少了这两行,歌单同步连接会一直掉线。
最后
部署下来整体比我预期顺。飞牛的 Docker 界面对新手友好,Compose 文件粘进去改两个参数就能跑。快照回滚和 WebDAV 异地备份这两个功能留着,哪天出问题不至于两眼一黑。
项目地址在这里,有问题可以去提 issue:github.com/XCQ0607/lxserver