LX Music 数据同步服务端,同时支持了部分lx-music-desktop的网页端实现。
See the code帮助文档 Documentation | 同步服务器 SyncServer | 更新日志 Changelog | English
本项目内置了一个功能强大的 Web 播放器,让你可以随时随地在浏览器中享受音乐。同时,它也是一个增强版的 LX Music 数据同步服务端。
采用清爽的现代化 UI 设计,支持深色模式,提供极致的视觉体验。
支持聚合搜索各大音乐平台的资源,想听什么搜什么。
支持多平台歌单的浏览、搜索与一键播放,提供直观的歌单详情面板,包含封面、作者、简介等完整信息。播放队列支持拖拽排序、批量管理及快速定位当前播放。
支持播放模式切换、音质选择、歌词显示、睡眠定时、播放倍数等功能。
内置全自动化缓存系统,可自动保存歌词、链接及歌曲文件,通过专门的缓存控制面板实现颗粒化管理,极大提升弱网环境下的播放流畅度。
新增歌词卡片分享功能,支持自定义卡片比例(竖版/横版/方版)、色彩风格(深色/浅色/专辑色)及歌词行数,一键生成精美海报,支持旋转缩放。
支持多套现代化主题(如森之韵、深海鲨、暖阳意、绯红月等),并可根据系统自动切换暗亮模式。系统设置支持自动更新网络歌单、账号设置自动备份及多维度代理配置,确保播放顺滑稳定。
支持导入自定义源脚本,扩展更多音乐来源。
支持搜索专辑与歌手,并支持一键收藏,方便快速找回你喜爱的音乐人与专辑。
全面适配 Subsonic 协议,支持使用各类 Subsonic 客户端(如音流、Feishin 等)连接并播放本站资源。可通过客户端的音乐目录选择本地、全部在线或指定平台,也可在关键词前使用 wy:、kg:、tx:、kw:、mg: 指定平台,使用 all: / online: 或 local: 强制全部在线或本地搜索。
在后台系统配置中开启 “开启公共收藏和歌曲” 之后,所有用户(无论未登录或不同账号)均可共同拥有并共享一个公共曲库与公开歌单列表。
为了保护你的隐私,Web 播放器支持开启访问密码。
ENABLE_WEBPLAYER_AUTH=true: 开启认证WEBPLAYER_PASSWORD=yourpassword: 设置访问密码user.enablePublicRestriction 开启时)| 用户类型 | 查看列表 | 使用/切换(仅个人) | 修改默认音质 | 上传/导入公开源 | 删除/修改公开源 |
|---|---|---|---|---|---|
| 管理员 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ✅ 允许 |
| 已登录用户 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ❌ 禁止 | ❌ 禁止 |
| 未登录访客 | ❌ 隐藏 | ❌ 禁止 | ❌ 禁止 | ❌ 禁止 | ❌ 禁止 |
Web 播放器针对移动端进行了深度优化,手机浏览器访问也能获得原生 App 般的体验。
本项目基于 Node.js 开发,支持多种部署方式。
可以通过桌面端更方便地运行 LX Music Sync Server,支持 Windows、macOS 和 Linux。
本项目支持从 Docker Hub 或 GitHub Packages 拉取镜像:
xcq0607/lxserver:latestghcr.io/xcq0607/lxserver:latestDocker 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
# - ENABLE_WEBPLAYER_AUTH=true
# - WEBPLAYER_PASSWORD=yourpassword
# - ADMIN_PATH=/music
# - PLAYER_PATH=/
# 1. 克隆项目
git clone https://github.com/XCQ0607/lxserver.git && cd lxserver
# 2. 安装依赖并编译
npm ci && npm run build
# 3. 启动服务
npm start
npm install --production。npm start 启动。http://<服务器IP>:9527(默认根路径,可通过 PLAYER_PATH 环境变量或后台配置自定义路径,如 /music)
ENABLE_WEBPLAYER_AUTH),首次访问需输入播放器密码(默认 123456)。http://<服务器IP>:9527/admin(默认路径为 /admin,可通过 ADMIN_PATH 自定义,默认管理员密码: 123456)。进入客户端「设置 → 同步设置」,选择自定义连接:
USER_ENABLE_PATH=true)
http://<服务器IP>:9527/<用户名>(例如:http://192.168.1.100:9527/user1)USER_ENABLE_ROOT=true)
http://<服务器IP>:9527(例如:http://192.168.1.100:9527)全面兼容 Subsonic API 协议,客户端中填写:
http://<服务器IP>:9527/rest(子路径由 SUBSONIC_PATH 决定,默认 /rest)SUBSONIC_PORT > 0,例如 4533): http://<服务器IP>:4533/restwy:、tx:、kw:、kg:、mg: 指定平台,或使用 online: / local: 强制在线/本地搜索。本项目基于 Node.js 采用前后端分离架构:
/。/admin 路径,负责用户与数据管理。系统配置文件已默认持久化在数据目录中的 data/config.js(Docker 部署只需挂载 ./data 卷即可在容器更新、重启后永久保留配置,若根目录下存在旧 config.js 会自动平滑迁移)。环境变量优先级最高:
| 环境变量 | 对应配置项 | 说明 | 默认值 |
|---|---|---|---|
PORT | port | 服务端口 | 9527 |
ADMIN_PATH | admin.path | 后台管理界面访问路径 | /admin |
PLAYER_PATH | player.path | Web 播放器访问路径 (默认为根路径 /) | / |
FRONTEND_PASSWORD | frontend.password | Web 管理界面访问密码 | 123456 |
SERVER_NAME | serverName | 同步服务名称 | lxserver |
ENABLE_DEBUG | debug.enabled | 是否启用 DEBUG 模式 (开启后输出详细调试日志与音源内部日志,默认关闭) | false |
MAX_SNAPSHOT_NUM | maxSnapshotNum | 保留的最大快照数量 | 10 |
CONFIG_PATH | - | 指定外部配置文件的绝对路径 (默认使用 data/config.js) | - |
DATA_PATH | - | 指定数据存储目录的绝对路径 | ./data |
LOG_PATH | - | 指定日志输出目录的绝对路径 | ./logs |
PROXY_HEADER | proxy.header | 代理转发 IP 头 (如 x-real-ip) | - |
USER_ENABLE_ROOT | user.enableRoot | 启用根路径 (开启后连接URL即为 ip:port,不允许不同用户密码相同) | false |
USER_ENABLE_PATH | user.enablePath | 启用用户路径 (开启后连接URL需为 ip:port/用户名,允许密码相同) | true |
WEBDAV_ENABLE | webdav.enable | 是否启用 WebDAV 同步与备份 | false |
WEBDAV_URL | webdav.url | WebDAV 地址 | - |
WEBDAV_USERNAME | webdav.username | WebDAV 用户名 | - |
WEBDAV_PASSWORD | webdav.password | WebDAV 密码 | - |
WEBDAV_SYNC_PATH | webdav.syncPath | WebDAV 增量同步远端路径 | /lx-sync |
WEBDAV_BACKUP_PATH | webdav.backupPath | WebDAV 全量备份远端路径 | /lx-sync-backups |
SYNC_INTERVAL | sync.interval | WebDAV 增量同步检测间隔(分钟) | 60 |
BACKUP_INTERVAL | sync.backupInterval | WebDAV 全量备份间隔(小时) | 24 |
WEBDAV_EXCLUDE_CACHE | webdav.excludeCache | 排除缓存目录同步 (data/<用户>/cache),开启后不参与增量同步及全量备份(已同步的文件不会被删除) | false |
WEBDAV_EXCLUDE_MUSIC | webdav.excludeMusic | 排除下载目录同步 (data/<用户>/music),开启后不参与增量同步及全量备份(已同步的文件不会被删除) | false |
ENABLE_WEBPLAYER_AUTH | player.enableAuth | 是否启用 Web 播放器访问密码 | false |
WEBPLAYER_PASSWORD | player.password | Web 播放器访问密码 | 123456 |
DISABLE_TELEMETRY | disableTelemetry | 是否禁用匿名数据统计,系统更新提示以及系统公告提示 | false |
ENABLE_PUBLIC_USER_RESTRICTION | user.enablePublicRestriction | 是否启用公开用户权限限制 (限制上传、删除公开源、缓存到服务器等) | true |
ENABLE_PUBLIC_NON_ADMIN_LOCAL_MUSIC | user.enablePublicNonAdminLocalMusic | 是否开启非管理员访问本地音乐 (允许未登录管理员的公开账号访问本地音乐) | false |
ENABLE_PUBLIC_NON_ADMIN_BROWSER_DOWNLOAD | user.enablePublicNonAdminBrowserDownload | 是否开启非管理员浏览器下载 (允许未登录管理员的公开/普通账号使用浏览器下载歌曲) | true |
ENABLE_PUBLIC_NON_ADMIN_SERVER_CACHE | user.enablePublicNonAdminServerCache | 是否开启非管理员服务器缓存 (允许未登录管理员的公开/普通账号将歌曲缓存到服务器) | false |
ENABLE_PUBLIC_FAVORITES | user.enablePublicFavorites | 是否开启公开收藏和歌曲 (开启后允许公开/未登录用户查看及播放公开收藏) | false |
ENABLE_PUBLIC_NON_ADMIN_ACCESS | user.enablePublicNonAdminAccess | 是否开启非管理员访问公开收藏和歌曲 (允许未登录管理员的公开账号查看) | false |
ENABLE_CUSTOM_MUSIC_DIR | user.enableCustomMusicDir | 是否开启自定义歌曲目录总开关 | false |
ENABLE_LOGIN_USER_CACHE_RESTRICTION | user.enableLoginCacheRestriction | 是否启用登录用户缓存限制 (开启后限非管理员登录用户的缓存设置) | false |
ENABLE_CACHE_SIZE_LIMIT | user.enableCacheSizeLimit | 是否启用缓存空间限制 (开启后超出容量将按 LRU 自动清理) | false |
CACHE_SIZE_LIMIT | user.cacheSizeLimit | 缓存空间限制大小 (单位: MB) | 2000 |
CONFIG_BACKUP_ENABLE | configBackup.enable | 是否启用配置文件自动备份功能 (每天生成一份历史配置副本) | true |
CONFIG_BACKUP_RETENTION_DAYS | configBackup.retentionDays | 配置文件备份保留天数 (自动清理过期备份) | 7 |
CONFIG_BACKUP_DIR | configBackup.dir | 配置文件备份存储目录路径 (支持绝对路径或相对 ./data) | backups |
SNAPSHOT_BACKUP_PATH | snapshot.backupPath | 歌单快照自定义存储路径 (支持绝对路径或相对 ./data,各用户独立隔离) | - |
LIST_ADD_MUSIC_LOCATION_TYPE | list.addMusicLocationType | 添加歌曲到列表时的位置 (top / bottom) | top |
PROXY_ALL_ENABLED | proxy.all.enabled | 是否启用外发请求代理 (针对 Music SDK) | false |
PROXY_ALL_ADDRESS | proxy.all.address | 代理地址 (支持 http:// 或 socks5://) | - |
SINGER_SOURCE_PRIORITY | singer.sourcePriority | 歌手信息获取来源优先级 (如 tx,wy 或 wy,tx) | tx,wy |
SUBSONIC_ENABLE | subsonic.enable | 是否启用 Subsonic 协议支持 | true |
SUBSONIC_PATH | subsonic.path | Subsonic 接口访问路径 (默认为 /rest) | /rest |
SUBSONIC_PORT | subsonic.port | Subsonic 独立监听端口 (0 为关闭独立端口,与主服务共用端口) | 0 |
SUBSONIC_ENABLE_DEBUG | subsonic.enableDebug | 是否开启 Subsonic 调试日志模式 | false |
SUBSONIC_ONLINE_SEARCH | subsonic.onlineSearch | 是否开启 Subsonic 在线全网搜索 | true |
SUBSONIC_ONLINE_SEARCH_MODE | subsonic.onlineSearchMode | Subsonic 在线搜索模式 (fallback / merge / local_only) | fallback |
SUBSONIC_ONLINE_SEARCH_SOURCES | subsonic.onlineSearchSources | Subsonic 在线搜索默认音源列表 | wy,tx,kw,kg,mg |
SUBSONIC_PUBLIC_LEADERBOARDS | subsonic.publicLeaderboards | 是否开启 Subsonic 公开排行榜 (将在线排行榜映射为只读歌单) | true |
SUBSONIC_LEADERBOARD_SOURCE | subsonic.leaderboardSource | Subsonic 公开排行榜默认音源平台 (仅支持单选, 如 tx, wy 等) | tx |
SUBSONIC_LYRIC_TRANSLATION | subsonic.lyricTranslation | Subsonic 歌词中是否包含翻译 | true |
SUBSONIC_CACHE_ON_PLAY | subsonic.cacheOnPlay | Subsonic 播放时是否触发服务器自动缓存保存 (落盘到用户目录) | false |
SUBSONIC_PLAY_CACHE_FIRST | subsonic.playCacheFirst | Subsonic 播放时是否优先使用服务器已有的本地缓存/下载文件直接传输 | true |
SUBSONIC_QUALITY_ENABLED | subsonic.quality.enabled | Subsonic 是否开启音质优选 | true |
SUBSONIC_QUALITY_PRIORITY | subsonic.quality.priority | Subsonic 音质优选优先级列表 (如 flac,320k,128k) | flac,320k,128k |
ARTIST_MAX_FETCH_PAGES | artist.maxFetchPages | 歌手歌曲最大抓取页数 | 20 |
CACHE_NAMING_PATTERN | cache.namingPattern | 缓存文件命名规则 (simple / custom) | simple |
SYSTEM_ALLOW_UNSAFE_VM | system.allowUnsafeVM | 是否允许运行 VM 模式自定义源脚本 (需注意安全风险) | false |
LX_USER_<用户名> | users 数组 | 快速添加用户,值为该用户的密码 (如 LX_USER_test=123) | - |
高级用户配置说明:环境变量
LX_USER_<用户名>仅用于快速添加用户及设置密码。若需为特定用户配置独立的高级选项(如开启个人自定义音乐目录、分配操作权限allowOperateCustomMusicDir或写入权限allowWriteCustomMusicDir、调整快照数量等),请直接在config.js的users数组中手动配置对应字段,或者在后台管理界面的“用户管理”面板中通过图形界面修改。
布尔类型环境变量说明:所有布尔类型的环境变量支持灵活的写法(不区分大小写),开启支持
true/1/yes/y/on;关闭支持false/0/no/n/off。
提示:目前服务支持
启用根路径(URL配置为ip:port) 和启用用户路径(URL配置为ip:port/username) 两种数据同步连接方式。如果没有启用用户路径,则必须保证每一个同步用户的鉴权密码不重复。
本项目集成了 PostHog 匿名数据统计,主要用于:
DISABLE_TELEMETRY=true。注意:关闭后将无法收到新版本通知。musicsdk。本项目基于 Apache License 2.0 许可证发行,以下协议是对于 Apache License 2.0 的补充,如有冲突,以以下协议为准。
Apache License 2.0 copyright (c) 2026 xcq0607
词语约定:本协议中的“本项目”指 LX Music Web 播放器;“使用者”指签署本协议的使用者;“官方音乐平台”指对本项目内置的包括酷我、酷狗、咪咕等音乐源的官方平台统称;“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。
LX Music 数据同步服务端,同时支持了部分lx-music-desktop的网页端实现。
See the code帮助文档 Documentation | 同步服务器 SyncServer | 更新日志 Changelog | English
本项目内置了一个功能强大的 Web 播放器,让你可以随时随地在浏览器中享受音乐。同时,它也是一个增强版的 LX Music 数据同步服务端。
采用清爽的现代化 UI 设计,支持深色模式,提供极致的视觉体验。
支持聚合搜索各大音乐平台的资源,想听什么搜什么。
支持多平台歌单的浏览、搜索与一键播放,提供直观的歌单详情面板,包含封面、作者、简介等完整信息。播放队列支持拖拽排序、批量管理及快速定位当前播放。
支持播放模式切换、音质选择、歌词显示、睡眠定时、播放倍数等功能。
内置全自动化缓存系统,可自动保存歌词、链接及歌曲文件,通过专门的缓存控制面板实现颗粒化管理,极大提升弱网环境下的播放流畅度。
新增歌词卡片分享功能,支持自定义卡片比例(竖版/横版/方版)、色彩风格(深色/浅色/专辑色)及歌词行数,一键生成精美海报,支持旋转缩放。
支持多套现代化主题(如森之韵、深海鲨、暖阳意、绯红月等),并可根据系统自动切换暗亮模式。系统设置支持自动更新网络歌单、账号设置自动备份及多维度代理配置,确保播放顺滑稳定。
支持导入自定义源脚本,扩展更多音乐来源。
支持搜索专辑与歌手,并支持一键收藏,方便快速找回你喜爱的音乐人与专辑。
全面适配 Subsonic 协议,支持使用各类 Subsonic 客户端(如音流、Feishin 等)连接并播放本站资源。可通过客户端的音乐目录选择本地、全部在线或指定平台,也可在关键词前使用 wy:、kg:、tx:、kw:、mg: 指定平台,使用 all: / online: 或 local: 强制全部在线或本地搜索。
在后台系统配置中开启 “开启公共收藏和歌曲” 之后,所有用户(无论未登录或不同账号)均可共同拥有并共享一个公共曲库与公开歌单列表。
为了保护你的隐私,Web 播放器支持开启访问密码。
ENABLE_WEBPLAYER_AUTH=true: 开启认证WEBPLAYER_PASSWORD=yourpassword: 设置访问密码user.enablePublicRestriction 开启时)| 用户类型 | 查看列表 | 使用/切换(仅个人) | 修改默认音质 | 上传/导入公开源 | 删除/修改公开源 |
|---|---|---|---|---|---|
| 管理员 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ✅ 允许 |
| 已登录用户 | ✅ 允许 | ✅ 允许 | ✅ 允许 | ❌ 禁止 | ❌ 禁止 |
| 未登录访客 | ❌ 隐藏 | ❌ 禁止 | ❌ 禁止 | ❌ 禁止 | ❌ 禁止 |
Web 播放器针对移动端进行了深度优化,手机浏览器访问也能获得原生 App 般的体验。
本项目基于 Node.js 开发,支持多种部署方式。
可以通过桌面端更方便地运行 LX Music Sync Server,支持 Windows、macOS 和 Linux。
本项目支持从 Docker Hub 或 GitHub Packages 拉取镜像:
xcq0607/lxserver:latestghcr.io/xcq0607/lxserver:latestDocker 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
# - ENABLE_WEBPLAYER_AUTH=true
# - WEBPLAYER_PASSWORD=yourpassword
# - ADMIN_PATH=/music
# - PLAYER_PATH=/
# 1. 克隆项目
git clone https://github.com/XCQ0607/lxserver.git && cd lxserver
# 2. 安装依赖并编译
npm ci && npm run build
# 3. 启动服务
npm start
npm install --production。npm start 启动。http://<服务器IP>:9527(默认根路径,可通过 PLAYER_PATH 环境变量或后台配置自定义路径,如 /music)
ENABLE_WEBPLAYER_AUTH),首次访问需输入播放器密码(默认 123456)。http://<服务器IP>:9527/admin(默认路径为 /admin,可通过 ADMIN_PATH 自定义,默认管理员密码: 123456)。进入客户端「设置 → 同步设置」,选择自定义连接:
USER_ENABLE_PATH=true)
http://<服务器IP>:9527/<用户名>(例如:http://192.168.1.100:9527/user1)USER_ENABLE_ROOT=true)
http://<服务器IP>:9527(例如:http://192.168.1.100:9527)全面兼容 Subsonic API 协议,客户端中填写:
http://<服务器IP>:9527/rest(子路径由 SUBSONIC_PATH 决定,默认 /rest)SUBSONIC_PORT > 0,例如 4533): http://<服务器IP>:4533/restwy:、tx:、kw:、kg:、mg: 指定平台,或使用 online: / local: 强制在线/本地搜索。本项目基于 Node.js 采用前后端分离架构:
/。/admin 路径,负责用户与数据管理。系统配置文件已默认持久化在数据目录中的 data/config.js(Docker 部署只需挂载 ./data 卷即可在容器更新、重启后永久保留配置,若根目录下存在旧 config.js 会自动平滑迁移)。环境变量优先级最高:
| 环境变量 | 对应配置项 | 说明 | 默认值 |
|---|---|---|---|
PORT | port | 服务端口 | 9527 |
ADMIN_PATH | admin.path | 后台管理界面访问路径 | /admin |
PLAYER_PATH | player.path | Web 播放器访问路径 (默认为根路径 /) | / |
FRONTEND_PASSWORD | frontend.password | Web 管理界面访问密码 | 123456 |
SERVER_NAME | serverName | 同步服务名称 | lxserver |
ENABLE_DEBUG | debug.enabled | 是否启用 DEBUG 模式 (开启后输出详细调试日志与音源内部日志,默认关闭) | false |
MAX_SNAPSHOT_NUM | maxSnapshotNum | 保留的最大快照数量 | 10 |
CONFIG_PATH | - | 指定外部配置文件的绝对路径 (默认使用 data/config.js) | - |
DATA_PATH | - | 指定数据存储目录的绝对路径 | ./data |
LOG_PATH | - | 指定日志输出目录的绝对路径 | ./logs |
PROXY_HEADER | proxy.header | 代理转发 IP 头 (如 x-real-ip) | - |
USER_ENABLE_ROOT | user.enableRoot | 启用根路径 (开启后连接URL即为 ip:port,不允许不同用户密码相同) | false |
USER_ENABLE_PATH | user.enablePath | 启用用户路径 (开启后连接URL需为 ip:port/用户名,允许密码相同) | true |
WEBDAV_ENABLE | webdav.enable | 是否启用 WebDAV 同步与备份 | false |
WEBDAV_URL | webdav.url | WebDAV 地址 | - |
WEBDAV_USERNAME | webdav.username | WebDAV 用户名 | - |
WEBDAV_PASSWORD | webdav.password | WebDAV 密码 | - |
WEBDAV_SYNC_PATH | webdav.syncPath | WebDAV 增量同步远端路径 | /lx-sync |
WEBDAV_BACKUP_PATH | webdav.backupPath | WebDAV 全量备份远端路径 | /lx-sync-backups |
SYNC_INTERVAL | sync.interval | WebDAV 增量同步检测间隔(分钟) | 60 |
BACKUP_INTERVAL | sync.backupInterval | WebDAV 全量备份间隔(小时) | 24 |
WEBDAV_EXCLUDE_CACHE | webdav.excludeCache | 排除缓存目录同步 (data/<用户>/cache),开启后不参与增量同步及全量备份(已同步的文件不会被删除) | false |
WEBDAV_EXCLUDE_MUSIC | webdav.excludeMusic | 排除下载目录同步 (data/<用户>/music),开启后不参与增量同步及全量备份(已同步的文件不会被删除) | false |
ENABLE_WEBPLAYER_AUTH | player.enableAuth | 是否启用 Web 播放器访问密码 | false |
WEBPLAYER_PASSWORD | player.password | Web 播放器访问密码 | 123456 |
DISABLE_TELEMETRY | disableTelemetry | 是否禁用匿名数据统计,系统更新提示以及系统公告提示 | false |
ENABLE_PUBLIC_USER_RESTRICTION | user.enablePublicRestriction | 是否启用公开用户权限限制 (限制上传、删除公开源、缓存到服务器等) | true |
ENABLE_PUBLIC_NON_ADMIN_LOCAL_MUSIC | user.enablePublicNonAdminLocalMusic | 是否开启非管理员访问本地音乐 (允许未登录管理员的公开账号访问本地音乐) | false |
ENABLE_PUBLIC_NON_ADMIN_BROWSER_DOWNLOAD | user.enablePublicNonAdminBrowserDownload | 是否开启非管理员浏览器下载 (允许未登录管理员的公开/普通账号使用浏览器下载歌曲) | true |
ENABLE_PUBLIC_NON_ADMIN_SERVER_CACHE | user.enablePublicNonAdminServerCache | 是否开启非管理员服务器缓存 (允许未登录管理员的公开/普通账号将歌曲缓存到服务器) | false |
ENABLE_PUBLIC_FAVORITES | user.enablePublicFavorites | 是否开启公开收藏和歌曲 (开启后允许公开/未登录用户查看及播放公开收藏) | false |
ENABLE_PUBLIC_NON_ADMIN_ACCESS | user.enablePublicNonAdminAccess | 是否开启非管理员访问公开收藏和歌曲 (允许未登录管理员的公开账号查看) | false |
ENABLE_CUSTOM_MUSIC_DIR | user.enableCustomMusicDir | 是否开启自定义歌曲目录总开关 | false |
ENABLE_LOGIN_USER_CACHE_RESTRICTION | user.enableLoginCacheRestriction | 是否启用登录用户缓存限制 (开启后限非管理员登录用户的缓存设置) | false |
ENABLE_CACHE_SIZE_LIMIT | user.enableCacheSizeLimit | 是否启用缓存空间限制 (开启后超出容量将按 LRU 自动清理) | false |
CACHE_SIZE_LIMIT | user.cacheSizeLimit | 缓存空间限制大小 (单位: MB) | 2000 |
CONFIG_BACKUP_ENABLE | configBackup.enable | 是否启用配置文件自动备份功能 (每天生成一份历史配置副本) | true |
CONFIG_BACKUP_RETENTION_DAYS | configBackup.retentionDays | 配置文件备份保留天数 (自动清理过期备份) | 7 |
CONFIG_BACKUP_DIR | configBackup.dir | 配置文件备份存储目录路径 (支持绝对路径或相对 ./data) | backups |
SNAPSHOT_BACKUP_PATH | snapshot.backupPath | 歌单快照自定义存储路径 (支持绝对路径或相对 ./data,各用户独立隔离) | - |
LIST_ADD_MUSIC_LOCATION_TYPE | list.addMusicLocationType | 添加歌曲到列表时的位置 (top / bottom) | top |
PROXY_ALL_ENABLED | proxy.all.enabled | 是否启用外发请求代理 (针对 Music SDK) | false |
PROXY_ALL_ADDRESS | proxy.all.address | 代理地址 (支持 http:// 或 socks5://) | - |
SINGER_SOURCE_PRIORITY | singer.sourcePriority | 歌手信息获取来源优先级 (如 tx,wy 或 wy,tx) | tx,wy |
SUBSONIC_ENABLE | subsonic.enable | 是否启用 Subsonic 协议支持 | true |
SUBSONIC_PATH | subsonic.path | Subsonic 接口访问路径 (默认为 /rest) | /rest |
SUBSONIC_PORT | subsonic.port | Subsonic 独立监听端口 (0 为关闭独立端口,与主服务共用端口) | 0 |
SUBSONIC_ENABLE_DEBUG | subsonic.enableDebug | 是否开启 Subsonic 调试日志模式 | false |
SUBSONIC_ONLINE_SEARCH | subsonic.onlineSearch | 是否开启 Subsonic 在线全网搜索 | true |
SUBSONIC_ONLINE_SEARCH_MODE | subsonic.onlineSearchMode | Subsonic 在线搜索模式 (fallback / merge / local_only) | fallback |
SUBSONIC_ONLINE_SEARCH_SOURCES | subsonic.onlineSearchSources | Subsonic 在线搜索默认音源列表 | wy,tx,kw,kg,mg |
SUBSONIC_PUBLIC_LEADERBOARDS | subsonic.publicLeaderboards | 是否开启 Subsonic 公开排行榜 (将在线排行榜映射为只读歌单) | true |
SUBSONIC_LEADERBOARD_SOURCE | subsonic.leaderboardSource | Subsonic 公开排行榜默认音源平台 (仅支持单选, 如 tx, wy 等) | tx |
SUBSONIC_LYRIC_TRANSLATION | subsonic.lyricTranslation | Subsonic 歌词中是否包含翻译 | true |
SUBSONIC_CACHE_ON_PLAY | subsonic.cacheOnPlay | Subsonic 播放时是否触发服务器自动缓存保存 (落盘到用户目录) | false |
SUBSONIC_PLAY_CACHE_FIRST | subsonic.playCacheFirst | Subsonic 播放时是否优先使用服务器已有的本地缓存/下载文件直接传输 | true |
SUBSONIC_QUALITY_ENABLED | subsonic.quality.enabled | Subsonic 是否开启音质优选 | true |
SUBSONIC_QUALITY_PRIORITY | subsonic.quality.priority | Subsonic 音质优选优先级列表 (如 flac,320k,128k) | flac,320k,128k |
ARTIST_MAX_FETCH_PAGES | artist.maxFetchPages | 歌手歌曲最大抓取页数 | 20 |
CACHE_NAMING_PATTERN | cache.namingPattern | 缓存文件命名规则 (simple / custom) | simple |
SYSTEM_ALLOW_UNSAFE_VM | system.allowUnsafeVM | 是否允许运行 VM 模式自定义源脚本 (需注意安全风险) | false |
LX_USER_<用户名> | users 数组 | 快速添加用户,值为该用户的密码 (如 LX_USER_test=123) | - |
高级用户配置说明:环境变量
LX_USER_<用户名>仅用于快速添加用户及设置密码。若需为特定用户配置独立的高级选项(如开启个人自定义音乐目录、分配操作权限allowOperateCustomMusicDir或写入权限allowWriteCustomMusicDir、调整快照数量等),请直接在config.js的users数组中手动配置对应字段,或者在后台管理界面的“用户管理”面板中通过图形界面修改。
布尔类型环境变量说明:所有布尔类型的环境变量支持灵活的写法(不区分大小写),开启支持
true/1/yes/y/on;关闭支持false/0/no/n/off。
提示:目前服务支持
启用根路径(URL配置为ip:port) 和启用用户路径(URL配置为ip:port/username) 两种数据同步连接方式。如果没有启用用户路径,则必须保证每一个同步用户的鉴权密码不重复。
本项目集成了 PostHog 匿名数据统计,主要用于:
DISABLE_TELEMETRY=true。注意:关闭后将无法收到新版本通知。musicsdk。本项目基于 Apache License 2.0 许可证发行,以下协议是对于 Apache License 2.0 的补充,如有冲突,以以下协议为准。
Apache License 2.0 copyright (c) 2026 xcq0607
词语约定:本协议中的“本项目”指 LX Music Web 播放器;“使用者”指签署本协议的使用者;“官方音乐平台”指对本项目内置的包括酷我、酷狗、咪咕等音乐源的官方平台统称;“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。