LXMusic 中文文档 下载 App

独立部署同步服务——跨公网同步的进阶方案

什么时候需要独立同步服务

局域网同步(桌面版做服务端 + 手机在同一个路由器)有明显的限制:

部署独立同步服务到一台有公网 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

方式二:源码部署

适合没有 Docker 的环境。

# 克隆仓库
git clone https://github.com/lyswhut/lx-music-sync-server.git
cd lx-music-sync-server

# 安装依赖并启动
npm install
npm start

服务器要求

客户端连接配置

部署完成后,桌面版和移动版都以客户端模式连接这个独立服务。

场景一: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。

定期备份服务器上的数据目录即可。

多端连接

独立同步服务支持多个客户端同时连接:

任何一端的修改都会自动同步到服务端,再推送到其他在线的客户端。

安全提示

相关阅读