为什么自建音乐同步?
LX Music(洛雪音乐助手)是开源音乐播放器,但默认不能跨设备同步。自建同步服务后:
- ✅ 手机/电脑/平板歌单实时同步
- ✅ 收藏、播放历史云端保存
- ✅ 不依赖第三方服务,数据在自己手里
- ✅ 多设备无缝切换
技术方案
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 手机 App │ │ 电脑客户端 │ │ 网页版 │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
└────────────────────┼────────────────────┘
↓
LX Music 同步服务(:9527)
↓
┌────────────────┐
│ NAS 存储 │
│ 歌曲文件 │
└────────────────┘
部署步骤
第一步:创建项目目录
mkdir -p ~/docker/lxmusic
cd ~/docker/lxmusic
第二步:编写 docker-compose.yml
services:
lxmusic:
image: lyswhut/lx-music-sync-server:latest
container_name: lxmusic
restart: unless-stopped
ports:
- "9527:9527" # 同步服务端口
volumes:
- ./data:/data # 数据持久化
environment:
- http_proxy= # OrbStack 代理兼容
- https_proxy=
- ALL_PROXY=
第三步:启动容器
docker compose up -d
第四步:验证服务
curl http://localhost:9527
# 返回 LX Music 同步服务信息表示成功
客户端配置
手机端(Android/iOS)
- 打开 LX Music App
- 进入 设置 → 同步
- 服务器地址填:
http://你的NAS-IP:9527 - 点击 连接
- 输入自定义的同步密码
电脑端(Windows/macOS/Linux)
- 打开 LX Music 桌面版
- 进入 设置 → 同步
- 服务器地址填:
http://你的NAS-IP:9527 - 点击 连接
- 输入同步密码
网页版
- 打开 LX Music 网页版
- 设置中配置同步服务器地址
- 使用相同密码连接
外网访问
方案一:Lucky 反向代理(推荐)
如果已配置 Lucky DDNS + 反向代理:
- 在 Lucky 中添加规则:
- 域名:
lx.1681588.xyz - 监听端口:8888
- 目标:
http://localhost:9527
- 域名:
- 路由器端口转发:8888 → NAS:8888
- 客户端配置:
http://lx.1681588.xyz:8888
方案二:Tailscale/ZeroTier
如果不想暴露公网:
- 在 NAS 和客户端安装 Tailscale
- 使用 Tailscale IP 访问:
http://100.x.x.x:9527
数据管理
备份
# 备份数据目录
cp -r ~/docker/lxmusic/data ~/backup/lxmusic-$(date +%Y%m%d)
迁移
# 停止服务
cd ~/docker/lxmusic
docker compose down
# 复制数据到新机器
scp -r ~/docker/lxmusic user@new-nas:~/docker/
# 在新机器启动
cd ~/docker/lxmusic
docker compose up -d
歌曲资源管理
添加本地歌曲
将歌曲文件放入 NAS 共享目录,LX Music 可以扫描本地文件夹:
- 在 LX Music 设置中添加本地歌曲目录
- 指向 NAS 共享路径(如 SMB/NFS)
- 扫描并导入
在线源配置
LX Music 支持自定义在线源脚本:
- 在设置中添加自定义源
- 或使用内置的默认源
- 注意版权和使用条款
进阶配置
修改端口
如果 9527 端口冲突:
ports:
- "19527:9527" # 改用 19527
设置 HTTPS
通过 Lucky 反向代理配置 HTTPS:
- 在 Lucky 中启用 HTTPS
- 自动申请证书
- 客户端使用
https://连接
限制访问 IP
在反向代理中设置 IP 白名单,只允许自己的设备连接。
坑
⚠️ OrbStack 代理:compose 中必须清空代理环境变量。
⚠️ 同步密码:务必设置强密码,防止他人连接你的同步服务。
⚠️ 网络环境:如果在内网使用,确保 NAS 和客户端在同一网段,或配置了正确的路由。
验证同步
- 在手机端添加一首歌到收藏
- 在电脑端检查收藏列表
- 应该实时同步出现