diff --git a/apps/lxserver/1.9.1/data.yml b/apps/lxserver/1.9.1/data.yml new file mode 100644 index 0000000..b99b5dd --- /dev/null +++ b/apps/lxserver/1.9.1/data.yml @@ -0,0 +1,73 @@ +additionalProperties: + formFields: + - default: "9527" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Service Port + labelZh: 服务端口 + required: true + rule: paramPort + type: number + label: + en: Service Port + zh: 服务端口 + - default: "123456" + edit: true + envKey: FRONTEND_PASSWORD + labelEn: Admin Password + labelZh: 管理后台密码 + required: false + rule: paramCommon + type: password + label: + en: Admin Password + zh: 管理后台密码 + - default: "false" + edit: true + envKey: ENABLE_WEBPLAYER_AUTH + labelEn: Enable Player Auth + labelZh: 启用播放器访问密码 + required: false + rule: paramCommon + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + label: + en: Enable Player Auth + zh: 启用播放器访问密码 + - default: "123456" + edit: true + envKey: WEBPLAYER_PASSWORD + labelEn: Player Password + labelZh: 播放器访问密码 + required: false + rule: paramCommon + type: password + label: + en: Player Password + zh: 播放器访问密码 + - default: "/music" + edit: true + envKey: PLAYER_PATH + labelEn: Player Path + labelZh: 播放器访问路径 + required: false + rule: paramCommon + type: text + label: + en: Player Path + zh: 播放器访问路径 + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Time Zone + labelZh: 时区 + required: true + rule: paramCommon + type: text + label: + en: Time Zone + zh: 时区 diff --git a/apps/lxserver/1.9.1/docker-compose.yml b/apps/lxserver/1.9.1/docker-compose.yml new file mode 100644 index 0000000..f5f92e2 --- /dev/null +++ b/apps/lxserver/1.9.1/docker-compose.yml @@ -0,0 +1,28 @@ +services: + lxserver: + image: xcq0607/lxserver:v1.9.1 + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:9527" + volumes: + - ./data:/server/data + - ./logs:/server/logs + - ./cache:/server/cache + - ./music:/server/music + environment: + - TZ=Asia/Shanghai + - NODE_ENV=production + - PORT=9527 + - FRONTEND_PASSWORD=${FRONTEND_PASSWORD} + - ENABLE_WEBPLAYER_AUTH=${ENABLE_WEBPLAYER_AUTH} + - WEBPLAYER_PASSWORD=${WEBPLAYER_PASSWORD} + - PLAYER_PATH=${PLAYER_PATH} + - TZ=${TZ} + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/lxserver/README.md b/apps/lxserver/README.md new file mode 100644 index 0000000..3558184 --- /dev/null +++ b/apps/lxserver/README.md @@ -0,0 +1,59 @@ +# LXServer + +LX Music Sync Server 增强版,一个基于 Node.js 的音乐同步服务器和 Web 播放器。 + +## 功能特点 + +- 现代化 Web 播放器,支持深色模式和多套主题皮肤 +- 多源聚合搜索,支持各大音乐平台资源搜索与播放 +- 全平台数据同步,完美适配 LX Music 桌面端与移动端 +- Subsonic 协议支持,可配合音流、Feishin 等第三方客户端 +- 全自动化缓存系统,自动保存歌词、链接及歌曲文件 +- 歌词卡片分享功能,支持生成精美歌词海报 +- 访问控制,支持播放器访问密码和管理员/用户权限管理 +- 支持导入自定义音乐源脚本 + +## 使用说明 + +### 默认端口 + +- Web 播放器: 9527 +- 管理后台: 9527 + +### 访问地址 + +- Web 播放器: http://your-ip:9527/music (可通过 `PLAYER_PATH` 修改) +- 同步管理后台: http://your-ip:9527 (可通过 `ADMIN_PATH` 修改) + +### 默认账号密码 + +- 管理后台默认密码: 123456 (部署后请立即修改) + +### 数据目录 + +应用数据存储在以下目录: + +- `./data`: 同步快照、用户信息和系统设置核心数据 +- `./logs`: 系统运行日志 +- `./cache`: Web 播放器自动化缓存文件 +- `./music`: 本地音乐库目录 + +## 环境变量配置 + +| 环境变量 | 说明 | 默认值 | +|---------|------|--------| +| FRONTEND_PASSWORD | Web 管理界面访问密码 | 123456 | +| ENABLE_WEBPLAYER_AUTH | 是否启用 Web 播放器访问密码 | false | +| WEBPLAYER_PASSWORD | Web 播放器访问密码 | 123456 | +| PLAYER_PATH | Web 播放器访问路径 | /music | +| ADMIN_PATH | 后台管理界面访问路径 | (空) | +| DISABLE_TELEMETRY | 是否禁用匿名数据统计 | false | +| SUBSONIC_ENABLE | 是否启用 Subsonic 协议支持 | true | +| SUBSONIC_PATH | Subsonic API 访问路径 | /rest | + +## 相关链接 + +- 官方网站: https://xcq0607.github.io/lxserver/ +- GitHub: https://github.com/XCQ0607/lxserver +- 文档: https://xcq0607.github.io/lxserver/ +- Docker Hub: https://hub.docker.com/r/xcq0607/lxserver diff --git a/apps/lxserver/README_en.md b/apps/lxserver/README_en.md new file mode 100644 index 0000000..0c6889c --- /dev/null +++ b/apps/lxserver/README_en.md @@ -0,0 +1,59 @@ +# LXServer + +LX Music Sync Server Enhanced Edition, a Node.js-based music sync server and web player. + +## Features + +- Modern web player with dark mode and multiple theme skins +- Multi-source aggregated search supporting major music platforms +- Cross-platform data synchronization for LX Music desktop and mobile +- Subsonic protocol support for third-party clients like Yinliu, Feishin +- Fully automated caching system for lyrics, links, and audio files +- Lyrics card sharing feature with customizable poster generation +- Access control with player password and admin/user permissions +- Support for importing custom music source scripts + +## Usage + +### Default Ports + +- Web Player: 9527 +- Admin Console: 9527 + +### Access URLs + +- Web Player: http://your-ip:9527/music (configurable via `PLAYER_PATH`) +- Admin Console: http://your-ip:9527 (configurable via `ADMIN_PATH`) + +### Default Credentials + +- Admin Console Default Password: 123456 (change immediately after deployment) + +### Data Directories + +Application data is stored in the following directories: + +- `./data`: Sync snapshots, user information, and system settings +- `./logs`: System runtime logs +- `./cache`: Web player automated cache files +- `./music`: Local music library directory + +## Environment Variables + +| Variable | Description | Default | +|----------|-------------|---------| +| FRONTEND_PASSWORD | Web admin interface password | 123456 | +| ENABLE_WEBPLAYER_AUTH | Enable web player password | false | +| WEBPLAYER_PASSWORD | Web player access password | 123456 | +| PLAYER_PATH | Web player access path | /music | +| ADMIN_PATH | Admin console access path | (empty) | +| DISABLE_TELEMETRY | Disable anonymous telemetry | false | +| SUBSONIC_ENABLE | Enable Subsonic protocol support | true | +| SUBSONIC_PATH | Subsonic API access path | /rest | + +## Links + +- Website: https://xcq0607.github.io/lxserver/ +- GitHub: https://github.com/XCQ0607/lxserver +- Documentation: https://xcq0607.github.io/lxserver/ +- Docker Hub: https://hub.docker.com/r/xcq0607/lxserver diff --git a/apps/lxserver/data.yml b/apps/lxserver/data.yml new file mode 100644 index 0000000..81e9923 --- /dev/null +++ b/apps/lxserver/data.yml @@ -0,0 +1,29 @@ +name: LXServer +tags: + - 音乐 + - 媒体 +title: LXServer +description: LX Music 数据同步服务器与 Web 播放器 +additionalProperties: + key: lxserver + name: LXServer + tags: + - Music + - Media + shortDescZh: LX Music 数据同步服务器与 Web 播放器 + shortDescEn: LX Music data sync server and web player + description: + zh: LX Music Sync Server 是一个基于 Node.js 的音乐同步服务器和 Web 播放器,支持多端数据同步、自定义音乐源、Subsonic 协议兼容、现代化 Web 播放器等功能。 + en: LX Music Sync Server is a Node.js-based music sync server and web player, supporting multi-device sync, custom music sources, Subsonic protocol compatibility, and modern web playback. + type: website + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://xcq0607.github.io/lxserver/ + github: https://github.com/XCQ0607/lxserver + document: https://xcq0607.github.io/lxserver/ + architectures: + - amd64 + - arm64 + - arm/v7 + - "386" diff --git a/apps/lxserver/latest/data.yml b/apps/lxserver/latest/data.yml new file mode 100644 index 0000000..b99b5dd --- /dev/null +++ b/apps/lxserver/latest/data.yml @@ -0,0 +1,73 @@ +additionalProperties: + formFields: + - default: "9527" + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Service Port + labelZh: 服务端口 + required: true + rule: paramPort + type: number + label: + en: Service Port + zh: 服务端口 + - default: "123456" + edit: true + envKey: FRONTEND_PASSWORD + labelEn: Admin Password + labelZh: 管理后台密码 + required: false + rule: paramCommon + type: password + label: + en: Admin Password + zh: 管理后台密码 + - default: "false" + edit: true + envKey: ENABLE_WEBPLAYER_AUTH + labelEn: Enable Player Auth + labelZh: 启用播放器访问密码 + required: false + rule: paramCommon + type: select + values: + - label: "True" + value: "true" + - label: "False" + value: "false" + label: + en: Enable Player Auth + zh: 启用播放器访问密码 + - default: "123456" + edit: true + envKey: WEBPLAYER_PASSWORD + labelEn: Player Password + labelZh: 播放器访问密码 + required: false + rule: paramCommon + type: password + label: + en: Player Password + zh: 播放器访问密码 + - default: "/music" + edit: true + envKey: PLAYER_PATH + labelEn: Player Path + labelZh: 播放器访问路径 + required: false + rule: paramCommon + type: text + label: + en: Player Path + zh: 播放器访问路径 + - default: "Asia/Shanghai" + edit: true + envKey: TZ + labelEn: Time Zone + labelZh: 时区 + required: true + rule: paramCommon + type: text + label: + en: Time Zone + zh: 时区 diff --git a/apps/lxserver/latest/docker-compose.yml b/apps/lxserver/latest/docker-compose.yml new file mode 100644 index 0000000..44b0b2a --- /dev/null +++ b/apps/lxserver/latest/docker-compose.yml @@ -0,0 +1,28 @@ +services: + lxserver: + image: xcq0607/lxserver:latest + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:9527" + volumes: + - ./data:/server/data + - ./logs:/server/logs + - ./cache:/server/cache + - ./music:/server/music + environment: + - TZ=Asia/Shanghai + - NODE_ENV=production + - PORT=9527 + - FRONTEND_PASSWORD=${FRONTEND_PASSWORD} + - ENABLE_WEBPLAYER_AUTH=${ENABLE_WEBPLAYER_AUTH} + - WEBPLAYER_PASSWORD=${WEBPLAYER_PASSWORD} + - PLAYER_PATH=${PLAYER_PATH} + - TZ=${TZ} + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/lxserver/logo.png b/apps/lxserver/logo.png new file mode 100644 index 0000000..f22d43e Binary files /dev/null and b/apps/lxserver/logo.png differ