独立部署同步服务——跨公网同步的进阶方案
什么时候需要独立同步服务
局域网同步(桌面版做服务端 + 手机在同一个路由器)有明显的限制:
- 只有在家里才能同步,出门在外用手机时没法自动同步。
- 桌面电脑关机或睡眠时服务就停了。
- 两台不同地点的桌面电脑之间没法通过局域网互相同步。
部署独立同步服务到一台有公网 IP 的服务器上,可以解决所有这些问题:
- 两台桌面版、一台移动版,任何时候都可以连接同步。
- 不受地点限制——手机在公司、咖啡厅、地铁里都能同步。
- 服务器保持运行即可,不需要家里的电脑常开。
部署方式
官方提供了一个独立的同步服务项目 lyswhut/lx-music-sync-server,可以在 GitHub 上找到。部署方式有两种:
方式一:Docker 部署(推荐)
最快速的方式,适合已经熟悉 Docker 的用户。在服务器上执行:
# 拉取镜像
docker pull lyswhut/lx-music-sync-server:latest
# 启动容器
docker run -d \
--name lx-music-sync \
-p 23332:23332 \
-v /path/to/data:/app/data \
lyswhut/lx-music-sync-server:latest
-p 23332:23332:将容器的 23332 端口映射到宿主机的 23332 端口。-v /path/to/data:/app/data:将容器内的数据目录映射到宿主机,方便持久化。
方式二:源码部署
适合没有 Docker 的环境。
# 克隆仓库
git clone https://github.com/lyswhut/lx-music-sync-server.git
cd lx-music-sync-server
# 安装依赖并启动
npm install
npm start
服务器要求
- 操作系统:Linux 推荐(Ubuntu / CentOS / Debian),Windows 也可以但稳定性稍差。
- 公网 IP:必须有公网可访问的 IP 或域名。
- 端口:需要开放 23332 端口(可自定义)。
- 内存:512MB 足够。
- 存储:几十 MB 足够(同步的只是歌单和歌曲元数据,不是音频文件)。
客户端连接配置
部署完成后,桌面版和移动版都以客户端模式连接这个独立服务。
场景一:HTTP + 自定义端口
假设服务器 IP 是 1.2.3.4,端口保持默认 23332:
http://1.2.3.4:23332
直接在桌面版或移动版的「客户端模式 → 同步服务地址」中输入即可,输入完按回车键确认。
场景二:HTTP + 80 端口
如果对外端口是 80(HTTP 默认端口),可以省略端口号:
http://your-domain.com
场景三:HTTPS + 443 端口(推荐)
⚠️ 安全建议:独立同步服务部署在公网上时,必须配置 HTTPS。默认是明文传输,数据可能被窃听。
如果配置了 SSL 证书且对外端口是 443(HTTPS 默认端口):
https://your-domain.com
省略端口号即可。如果你配置的是非标准 HTTPS 端口:
https://your-domain.com:8443
配置 HTTPS
常见的做法是用 Nginx 作为反向代理,处理 SSL 证书:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
proxy_pass http://127.0.0.1:23332;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
SSL 证书可以用 Let's Encrypt 免费签发:
# certbot 自动配置 Nginx 并签发证书
certbot --nginx -d your-domain.com
同步数据存储
独立同步服务的所有同步数据(歌单、歌曲列表)存储在服务器上。数据量很小——即使有几百个歌单、上万首歌曲,占用也只有几 MB 到几十 MB。
定期备份服务器上的数据目录即可。
多端连接
独立同步服务支持多个客户端同时连接:
- 你的桌面电脑 A(客户端模式连接)
- 你的桌面电脑 B(客户端模式连接)
- 你的 Android 手机(客户端模式连接)
任何一端的修改都会自动同步到服务端,再推送到其他在线的客户端。
安全提示
- 务必配置 HTTPS:HTTP 明文传输在公网上等同于裸奔。
- 注意端口安全:如果用了非标准端口,确保服务器防火墙只开放必要的端口。
- 定期备份数据目录:防止服务器故障丢失歌单。
- 独立同步服务是官方维护的项目,有问题可以在 GitHub Issues 中反馈。