Sign inSign up

xcq0607/lxserver

By xcq0607

Updated 3 days ago

LX Music 数据同步服务端,同时支持了部分lx-music-desktop的网页端实现。

Image
7

100K+

xcq0607/lxserver repository overview

LX Music Sync Server (Enhanced Edition)

lxserver

Build Status Version Node Version License GitHub stars


本项目内置了一个功能强大的 Web 播放器,让你可以随时随地在浏览器中享受音乐。同时,它也是一个增强版的 LX Music (洛雪音乐) 数据同步服务端,支持多端同步、自定义源、本地音乐映射、公共曲库以及 Subsonic 协议。

⚠️ 注意:本页面主要为 Docker 快速部署说明。查看详细功能截图、详细桌面端安装、高级配置文档及更新日志,请跳转至 GitHub 仓库帮助文档


✨ 核心特性

  • 现代化 Web 播放器:清爽 UI 设计、支持深色模式、多套皮肤主题(森之韵、深海鲨、暖阳意、绯红月等),针对移动端深度优化。
  • 多源聚合搜索与歌单:支持各大平台音乐、专辑、歌手、歌单搜索与一键收藏,支持导入自定义源脚本。
  • 全平台数据同步:完美适配 LX Music 桌面端与移动端的数据同步需求,支持 WebDAV 增量同步与全量自动备份。
  • Subsonic 协议支持:全面适配 Subsonic 协议,支持使用音流、Feishin 等客户端连接,支持在线全网检索与指定音源搜索。
  • 全自动化缓存管理:内置自动化缓存系统,可自动保存歌词、链接及歌曲文件,支持颗粒化管理及 LRU 容量限制。
  • 公共曲库与共享收藏:支持开启公共收藏,所有用户可共同拥有并共享公共曲库与公开歌单。
  • 歌词卡片分享:支持生成精美歌词海报,支持多种尺寸比例与风格定制。
  • 精细化访问控制:支持设置播放器访问密码,提供管理员/普通用户/公开访客维度的多级权限与公开源限制矩阵。

🚀 快速启动 (Docker)

本项目支持从 Docker Hub 或 GitHub Packages 拉取镜像:

  • Docker Hub: xcq0607/lxserver:latest
  • GitHub Packages: ghcr.io/xcq0607/lxserver:latest
方式一:Docker Run (命令行)
docker run -d \
  -p 9527:9527 \
  -v $(pwd)/data:/server/data \
  -v $(pwd)/logs:/server/logs \
  -v $(pwd)/cache:/server/cache \
  -v $(pwd)/music:/server/music \
  --name lx-sync-server \
  --restart unless-stopped \
  xcq0607/lxserver:latest
方式二:Docker Compose (推荐)

新建 docker-compose.yml 文件:

version: '3'
services:
  lx-sync-server:
    image: xcq0607/lxserver:latest
    container_name: lx-sync-server
    restart: unless-stopped
    ports:
      - "9527:9527"
    volumes:
      - ./data:/server/data
      - ./logs:/server/logs
      - ./cache:/server/cache
      - ./music:/server/music
    environment:
      - NODE_ENV=production
      # - FRONTEND_PASSWORD=123456         # 管理后台密码 (默认: 123456)
      # - ENABLE_WEBPLAYER_AUTH=true        # 是否启用 Web 播放器访问密码
      # - WEBPLAYER_PASSWORD=yourpassword  # Web 播放器访问密码 (默认: 123456)
      # - ADMIN_PATH=/admin                # 管理后台访问路径 (默认: /admin)
      # - PLAYER_PATH=/                    # Web 播放器访问路径 (默认: /)

🌐 访问说明

  • Web 播放器: http://your-ip:9527 (默认路径为根路径 /,可通过 PLAYER_PATH 修改)
  • 同步管理后台: http://your-ip:9527/admin (默认路径为 /admin,可通过 ADMIN_PATH 修改,默认密码: 123456)
  • Subsonic 接口: http://your-ip:9527/rest (默认路径为 /rest,可通过 SUBSONIC_PATH 修改)

⚙️ 关键配置说明 (环境变量)

系统配置文件已默认持久化在数据目录中的 data/config.js(Docker 部署只需挂载 ./data 卷即可在容器更新、重启后永久保留配置)。环境变量优先级最高:

环境变量说明默认值
PORT服务端口9527
BIND_IP绑定 IP 地址0.0.0.0
PLAYER_PATHWeb 播放器访问路径 (默认为根路径 /)/
ADMIN_PATH管理后台界面访问路径 (默认为 /admin)/admin
FRONTEND_PASSWORD管理后台访问密码123456
ENABLE_WEBPLAYER_AUTH是否启用 Web 播放器访问密码false
WEBPLAYER_PASSWORDWeb 播放器访问密码123456
SUBSONIC_ENABLE是否启用 Subsonic 协议支持true
SUBSONIC_PATHSubsonic 接口访问路径/rest
SUBSONIC_ONLINE_SEARCH是否开启 Subsonic 在线全网搜索true
SUBSONIC_ONLINE_SEARCH_MODESubsonic 在线搜索模式 (fallback / merge / local_only)fallback
SUBSONIC_ONLINE_SEARCH_SOURCESSubsonic 在线搜索默认音源列表wy,tx,kw,kg,mg
SUBSONIC_PUBLIC_LEADERBOARDS是否开启 Subsonic 公开排行榜 (映射为只读歌单)true
SUBSONIC_LEADERBOARD_SOURCESubsonic 公开排行榜默认音源平台tx
SUBSONIC_LYRIC_TRANSLATIONSubsonic 歌词中是否包含翻译true
SUBSONIC_CACHE_ON_PLAYSubsonic 播放时是否触发服务器自动缓存保存false
SUBSONIC_PLAY_CACHE_FIRSTSubsonic 播放时是否优先使用服务器已有本地缓存/下载文件true
DATA_PATH数据存储目录的绝对路径/server/data
LOG_PATH日志输出目录的绝对路径/server/logs
ENABLE_CACHE_SIZE_LIMIT是否启用缓存空间限制 (超出将按 LRU 自动清理)false
CACHE_SIZE_LIMIT缓存空间限制大小 (单位: MB)2000
CACHE_NAMING_PATTERN缓存文件命名规则 (simple / custom)simple
ENABLE_PUBLIC_FAVORITES是否开启公开收藏和公共歌曲库false
ENABLE_PUBLIC_NON_ADMIN_ACCESS是否开启非管理员访问公开收藏和歌曲false
ENABLE_PUBLIC_NON_ADMIN_LOCAL_MUSIC是否开启非管理员访问本地音乐false
ENABLE_PUBLIC_NON_ADMIN_BROWSER_DOWNLOAD是否开启非管理员浏览器下载true
ENABLE_PUBLIC_NON_ADMIN_SERVER_CACHE是否开启非管理员服务器缓存false
ENABLE_PUBLIC_USER_RESTRICTION是否限制公开用户权限 (限制上传/修改公开源等)true
ENABLE_LOGIN_USER_CACHE_RESTRICTION是否启用登录用户缓存限制false
PROXY_ALL_ENABLED是否启用外发请求代理 (针对 Music SDK)false
PROXY_ALL_ADDRESS代理地址 (支持 http://socks5://)-
WEBDAV_ENABLE是否启用 WebDAV 同步与备份false
WEBDAV_URLWebDAV 地址-
WEBDAV_USERNAMEWebDAV 用户名-
WEBDAV_PASSWORDWebDAV 密码-
DISABLE_TELEMETRY是否禁用匿名数据统计与版本更新公告提示false
SYSTEM_ALLOW_UNSAFE_VM是否允许运行 VM 模式自定义源脚本 (需注意安全风险)false
LX_USER_<用户名>快速添加同步用户,值为密码 (如 LX_USER_tom=123456)-

💡 提示:所有布尔类型的环境变量均支持灵活格式,开启可填 true / 1 / yes / y / on,关闭可填 false / 0 / no / n / off


📂 卷映射 (Volumes)

为了确保数据在容器重启或镜像升级后持久保存,请挂载以下持久化卷:

  • /server/data: 存放同步快照、用户信息、系统设置核心数据库 (data/config.js)。
  • /server/logs: 存放运行及访问日志。
  • /server/cache: 存放 Web 播放器的自动化缓存文件(歌曲音频、歌词、封面等)。
  • /server/music: 映射本地音乐库目录(Subsonic 本地音乐与内置本地曲库)。

🛡️ 数据收集与隐私说明

本项目集成了 PostHog 匿名数据统计,主要用于:

  1. Bug 追踪: 收集版本号、环境类型。
  2. 通知推送: 弹出版本更新提醒与紧急维护公告。
  • 绝对匿名: 绝不收集 IP、用户名或具体歌单内容。
  • 关闭方法: 环境变量设置 DISABLE_TELEMETRY=true注意:关闭后将无法收到新版本通知。

🤝 贡献与致谢

更多详情、功能截图及高级配置,请访问 GitHub 仓库:XCQ0607/lxserver


📄 开源协议

本项目基于 Apache License 2.0 许可证发行,以下协议是对于 Apache License 2.0 的补充,如有冲突,以以下协议为准。

Apache License 2.0 copyright (c) 2026 xcq0607

词语约定:本协议中的“本项目”指 LX Music Web 播放器;“使用者”指签署本协议的使用者;“官方音乐平台”指对本项目内置的包括酷我、酷狗、咪咕等音乐源的官方平台统称;“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。

一、数据来源
  1. 官方平台: 本项目的各官方平台在线数据来源原理是从其公开服务器中拉取数据,经过对数据简单地筛选与合并后进行展示(与未登录状态在官方APP获取的数据相同),因此本项目不对数据的合法性、准确性负责。
  2. 音频数据: 本项目本身没有获取某个音频数据的能力,所使用的在线音频数据来源来自设置内“自定义源”所选择的“源”返回的在线链接。本项目无法校验其准确性,使用过程中可能会出现播放异常。
  3. 其他数据: 本项目的非官方平台数据(例如“我的列表”内列表)来自服务器存储数据,本项目不对这些数据的合法性、准确性负责。
二、免责声明
  1. 版权数据: 使用本项目的过程中可能会产生版权数据。对于这些版权数据,本项目不拥有它们的所有权。为了避免侵权,使用者务必在 24 小时内 清除使用本项目的过程中所产生的版权数据。
  2. 责任承担: 由于使用本项目产生的包括由于本协议或由于使用或无法使用本项目而引起的任何性质的任何直接、间接、特殊、偶然或结果性损害由使用者负责。
  3. 法律法规: 本项目完全免费,且开源发布于 GitHub 面向全世界人用作对技术的学习交流。禁止在违反当地法律法规的情况下使用本项目。对于使用者在明知或不知当地法律法规不允许的情况下使用本项目所造成的任何违法违规行为由使用者承担。
三、其他
  1. 资源使用: 本项目内使用的部分包括但不限于字体、图片等资源来源于互联网。如果出现侵权可联系本项目移除。
  2. 非商业性质: 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。
  3. 接受协议: 若你使用了本项目,即代表你接受本协议。

Tag summary

Content type

Image

Digest

sha256:8f4be64e8

Size

77.3 MB

Last updated

3 days ago

docker pull xcq0607/lxserver