From 01a6c2bfa945ff69a4aab0a3487dc19562cd1509 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Mon, 1 Sep 2025 12:27:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=20Music=20?= =?UTF-8?q?Tag=20Web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- apps/music-tag-web/2.5.6/data.yml | 96 ++++++++++++++++++ apps/music-tag-web/2.5.6/docker-compose.yml | 25 +++++ apps/music-tag-web/2.5.6/envs/default.env | 2 + apps/music-tag-web/2.5.6/envs/global.env | 2 + apps/music-tag-web/2.5.6/scripts/init.sh | 17 ++++ apps/music-tag-web/2.5.6/scripts/uninstall.sh | 10 ++ apps/music-tag-web/2.5.6/scripts/upgrade.sh | 17 ++++ apps/music-tag-web/README.md | 40 ++++++++ apps/music-tag-web/data.yml | 14 +++ apps/music-tag-web/logo.png | Bin 0 -> 78032 bytes apps/music-tag-web/v1/data.yml | 38 +++++++ apps/music-tag-web/v1/docker-compose.yml | 26 +++++ apps/music-tag-web/v1/envs/default.env | 2 + apps/music-tag-web/v1/envs/global.env | 2 + apps/music-tag-web/v1/scripts/init.sh | 17 ++++ apps/music-tag-web/v1/scripts/uninstall.sh | 10 ++ apps/music-tag-web/v1/scripts/upgrade.sh | 17 ++++ 17 files changed, 335 insertions(+) create mode 100644 apps/music-tag-web/2.5.6/data.yml create mode 100644 apps/music-tag-web/2.5.6/docker-compose.yml create mode 100644 apps/music-tag-web/2.5.6/envs/default.env create mode 100644 apps/music-tag-web/2.5.6/envs/global.env create mode 100644 apps/music-tag-web/2.5.6/scripts/init.sh create mode 100644 apps/music-tag-web/2.5.6/scripts/uninstall.sh create mode 100644 apps/music-tag-web/2.5.6/scripts/upgrade.sh create mode 100644 apps/music-tag-web/README.md create mode 100644 apps/music-tag-web/data.yml create mode 100644 apps/music-tag-web/logo.png create mode 100644 apps/music-tag-web/v1/data.yml create mode 100644 apps/music-tag-web/v1/docker-compose.yml create mode 100644 apps/music-tag-web/v1/envs/default.env create mode 100644 apps/music-tag-web/v1/envs/global.env create mode 100644 apps/music-tag-web/v1/scripts/init.sh create mode 100644 apps/music-tag-web/v1/scripts/uninstall.sh create mode 100644 apps/music-tag-web/v1/scripts/upgrade.sh diff --git a/apps/music-tag-web/2.5.6/data.yml b/apps/music-tag-web/2.5.6/data.yml new file mode 100644 index 000000000..29c1cb99c --- /dev/null +++ b/apps/music-tag-web/2.5.6/data.yml @@ -0,0 +1,96 @@ +additionalProperties: + formFields: + - default: "/home/music-tag-web" + edit: true + envKey: MUSIC_TAG_WEB_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8002 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_1 + labelEn: Custom mount directory 1 + labelZh: 自定义挂载目录 1 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_2 + labelEn: Custom mount directory 2 + labelZh: 自定义挂载目录 2 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_3 + labelEn: Custom mount directory 3 + labelZh: 自定义挂载目录 3 + required: false + type: text + - default: "127.0.0.1" + edit: true + envKey: MYSQL_HOST + labelZh: 数据库 主机 + labelEn: Database Host + required: false + type: text + - default: 3306 + edit: true + envKey: MYSQL_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: false + rule: paramPort + type: number + - default: "music-tag-web" + edit: true + envKey: MYSQL_DB_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: false + type: text + - default: "music-tag-web" + edit: true + envKey: MYSQL_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: false + type: text + - default: "" + edit: true + envKey: MYSQL_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + required: false + type: password + - default: "" + edit: true + envKey: REDIS_HOST + labelZh: Redis 主机 + labelEn: Redis Host + required: false + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelZh: Redis 端口 + labelEn: Redis Port + required: false + rule: paramPort + type: number + - default: "" + edit: true + envKey: REDIS_PASSWORD + labelZh: Redis 密码 + labelEn: Redis Password + required: false + type: password diff --git a/apps/music-tag-web/2.5.6/docker-compose.yml b/apps/music-tag-web/2.5.6/docker-compose.yml new file mode 100644 index 000000000..23c854d2d --- /dev/null +++ b/apps/music-tag-web/2.5.6/docker-compose.yml @@ -0,0 +1,25 @@ +networks: + 1panel-network: + external: true + +services: + music_tag_web: + image: xhongc/music_tag_web:2.5.6 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8002 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${MUSIC_TAG_WEB_ROOT_PATH}/data:/app/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} + environment: + - TZ=Asia/Shanghai diff --git a/apps/music-tag-web/2.5.6/envs/default.env b/apps/music-tag-web/2.5.6/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/music-tag-web/2.5.6/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/music-tag-web/2.5.6/envs/global.env b/apps/music-tag-web/2.5.6/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/music-tag-web/2.5.6/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/music-tag-web/2.5.6/scripts/init.sh b/apps/music-tag-web/2.5.6/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/music-tag-web/2.5.6/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/music-tag-web/2.5.6/scripts/uninstall.sh b/apps/music-tag-web/2.5.6/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/music-tag-web/2.5.6/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/music-tag-web/2.5.6/scripts/upgrade.sh b/apps/music-tag-web/2.5.6/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/music-tag-web/2.5.6/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/music-tag-web/README.md b/apps/music-tag-web/README.md new file mode 100644 index 000000000..4a70c6120 --- /dev/null +++ b/apps/music-tag-web/README.md @@ -0,0 +1,40 @@ +# Music Tag Web + +『音乐标签V2』Music Tag Web V2 是集合音乐标签刮削和音乐播放一体的个人音乐库解决方案。 + +![Music Tag Web](https://file.lifebus.top/imgs/app_name_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 安装说明 + +> 默认用户名:admin +> +> 默认密码:admin +> +> v2 版本需要激活码授权,自行前往仓库中查询获取方式 + +## 简介 + ++ 支持大部分音频格式元数据的查看、编辑和修改 ++ 支持批量自动修改(刮削)音乐标签 ++ 支持音乐指纹识别,即使没有元数据也可以识别音乐 ++ 支持整理音乐文件,按艺术家,专辑分组, 或者自定义多级分组 ++ 支持文件排序,按照文件名,文件大小,更新时间排序 ++ 支持批量转换音乐元数据繁体转简体,或者简体转繁体 ++ 支持文件名称的拆分解包,补充缺失元数据信息 ++ 支持文本替换,批量替换音乐元数据中脏数据 ++ 支持音乐格式转换,引入 ffmpeg 支持音乐格式转换 ++ 支持整轨音乐文件的切割 ++ 支持多种音乐标签来源 ++ 支持歌词翻译功能 ++ 支持显示操作记录 ++ 支持导出专辑封面文件,支持自定义上传专辑封面 ++ 支持适配移动端 UI,支持手机端访问 ++ 支持使用小爱同学播放本地音乐,播放NAS本地音乐 ++ 支持网盘音乐播放 ++ 支持播放记录统计,优雅展示柱形图,折线图 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/music-tag-web/data.yml b/apps/music-tag-web/data.yml new file mode 100644 index 000000000..63cd14f48 --- /dev/null +++ b/apps/music-tag-web/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: music-tag-web + name: Music Tag Web + tags: + - WebSite + - Local + shortDescZh: 音乐标签 + shortDescEn: Music Tag + type: website + crossVersionUpdate: true + limit: 0 + website: https://xiers-organization.gitbook.io/music-tag-web-v2/ + github: https://github.com/xhongc/music-tag-web/ + document: https://xiers-organization.gitbook.io/music-tag-web-v2/ diff --git a/apps/music-tag-web/logo.png b/apps/music-tag-web/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..05ca9e038a4d311dbfe94ba8698c57c6b6a85609 GIT binary patch literal 78032 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 literal 0 HcmV?d00001 diff --git a/apps/music-tag-web/v1/data.yml b/apps/music-tag-web/v1/data.yml new file mode 100644 index 000000000..eba4fcae6 --- /dev/null +++ b/apps/music-tag-web/v1/data.yml @@ -0,0 +1,38 @@ +additionalProperties: + formFields: + - default: "/home/music-tag-web" + edit: true + envKey: MUSIC_TAG_WEB_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8001 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_1 + labelEn: Custom mount directory 1 + labelZh: 自定义挂载目录 1 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_2 + labelEn: Custom mount directory 2 + labelZh: 自定义挂载目录 2 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_3 + labelEn: Custom mount directory 3 + labelZh: 自定义挂载目录 3 + required: false + type: text diff --git a/apps/music-tag-web/v1/docker-compose.yml b/apps/music-tag-web/v1/docker-compose.yml new file mode 100644 index 000000000..b21096fd4 --- /dev/null +++ b/apps/music-tag-web/v1/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true + +services: + music_tag_web: + image: xhongc/music_tag_web:latest + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8001 + command: /start + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${MUSIC_TAG_WEB_ROOT_PATH}/data:/app/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} + environment: + - TZ=Asia/Shanghai diff --git a/apps/music-tag-web/v1/envs/default.env b/apps/music-tag-web/v1/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/music-tag-web/v1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/music-tag-web/v1/envs/global.env b/apps/music-tag-web/v1/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/music-tag-web/v1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/music-tag-web/v1/scripts/init.sh b/apps/music-tag-web/v1/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/music-tag-web/v1/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/music-tag-web/v1/scripts/uninstall.sh b/apps/music-tag-web/v1/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/music-tag-web/v1/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/music-tag-web/v1/scripts/upgrade.sh b/apps/music-tag-web/v1/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/music-tag-web/v1/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi