From e9dd61a8094eff8cfaff40348b27c843fafd01d2 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Tue, 29 Oct 2024 18:34:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- .github/renovate.json | 12 ++++ apps/jellyfin/10.9.11/data.yml | 61 ++++++++++++++++++++ apps/jellyfin/10.9.11/docker-compose.yml | 38 +++++++++++++ apps/jellyfin/10.9.11/scripts/init.sh | 66 ++++++++++++++++++++++ apps/jellyfin/10.9.11/scripts/uninstall.sh | 10 ++++ apps/jellyfin/10.9.11/scripts/upgrade.sh | 66 ++++++++++++++++++++++ 6 files changed, 253 insertions(+) create mode 100644 apps/jellyfin/10.9.11/data.yml create mode 100644 apps/jellyfin/10.9.11/docker-compose.yml create mode 100644 apps/jellyfin/10.9.11/scripts/init.sh create mode 100644 apps/jellyfin/10.9.11/scripts/uninstall.sh create mode 100644 apps/jellyfin/10.9.11/scripts/upgrade.sh diff --git a/.github/renovate.json b/.github/renovate.json index 175426423..7c02bbf23 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -141,6 +141,18 @@ "^diygod/rsshub" ], "versioning": "regex:^(?\\d{4})-(?\\d{2})-(?\\d{2})$" + }, + { + "matchFileNames": [ + "apps/jellyfin/10.9.*/*.yml" + ], + "allowedVersions": "<10.10" + }, + { + "matchFileNames": [ + "apps/jellyfin/10.10.*/*.yml" + ], + "allowedVersions": ">=10.10" } ], "prCreation": "immediate" diff --git a/apps/jellyfin/10.9.11/data.yml b/apps/jellyfin/10.9.11/data.yml new file mode 100644 index 000000000..d709d3fdf --- /dev/null +++ b/apps/jellyfin/10.9.11/data.yml @@ -0,0 +1,61 @@ +additionalProperties: + formFields: + - default: "host" + edit: true + envKey: NETWORK_MODE + labelZh: 网络模式 + labelEn: Network mode + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" + - default: "/home/jellyfin" + edit: true + envKey: JELLYFIN_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8096 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI Port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: HTTP_SSL_PROXY + labelZh: HTTP(s) 网络代理 + labelEn: HTTP(s) Proxy + required: false + type: text + - 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/jellyfin/10.9.11/docker-compose.yml b/apps/jellyfin/10.9.11/docker-compose.yml new file mode 100644 index 000000000..607ff4590 --- /dev/null +++ b/apps/jellyfin/10.9.11/docker-compose.yml @@ -0,0 +1,38 @@ +networks: + 1panel-network: + external: true + +services: + jellyfin: + image: jellyfin/jellyfin:10.9.11 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + network_mode: ${NETWORK_MODE} + user: 0:0 + ports: + - ${PANEL_APP_PORT_HTTP}:8096 + volumes: + - ${JELLYFIN_ROOT_PATH}/config:/config + - ${JELLYFIN_ROOT_PATH}/cache:/cache + - ${JELLYFIN_ROOT_PATH}/media:/media + - ${JELLYFIN_ROOT_PATH}/config/font:/config/font + - ${JELLYFIN_ROOT_PATH}/config/dejavu:/usr/share/fonts/truetype/dejavu + - ${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} + devices: + - /dev/dri:/dev/dri + # - /dev/nvidia0:/dev/nvidia0 + # - /dev/nvidiactl:/dev/nvidiactl + # - /dev/nvidia-modeset:/dev/nvidia-modeset + # - /dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl + # - /dev/nvidia-uvm:/dev/nvidia-uvm + # - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools + # - /dev/video11:/dev/video11 + environment: + - ROC_ENABLE_PRE_VEGA=1 + - HTTP_PROXY=${HTTP_PROXY:-} + - HTTPS_PROXY=${HTTP_PROXY:-} + - NO_PROXY=localhost,127.0.0.1,::1 diff --git a/apps/jellyfin/10.9.11/scripts/init.sh b/apps/jellyfin/10.9.11/scripts/init.sh new file mode 100644 index 000000000..c066befc7 --- /dev/null +++ b/apps/jellyfin/10.9.11/scripts/init.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +if [[ -f .env ]]; then + source .env + + BASE_URL="https://f.lifebus.top/public/1panel/appstore/jellyfin/" + + DEJAVU_FILES=( + "DejaVuSans.ttf" + "DejaVuSans-Bold.ttf" + "DejaVuSansMono.ttf" + "DejaVuSansMono-Bold.ttf" + "DejaVuSerif.ttf" + "DejaVuSerif-Bold.ttf" + ) + + FONT_FILES=( + "NotoSansMonoCJKsc-Bold.woff2" + "NotoSansMonoCJKsc-Regular.otf" + "NotoSansCJKsc-Regular.woff" + "NotoSansMonoCJKsc-Regular.woff" + "NotoSansMonoCJKsc-Regular.woff2" + "NotoSansMonoCJKsc-Bold.otf" + "NotoSansMonoCJKsc-Bold.woff" + "NotoSansCJKsc-Medium.otf" + "NotoSansCJKsc-Regular.otf" + "NotoSansCJKsc-Thin.woff2" + "NotoSansCJKsc-Thin.woff" + "NotoSansCJKsc-Regular.woff2" + "NotoSansCJKsc-Thin.otf" + "NotoSansCJKsc-Medium.woff" + "NotoSansCJKsc-Medium.woff2" + "NotoSansCJKsc-Light.woff" + "NotoSansCJKsc-Light.woff2" + "NotoSansCJKsc-Bold.otf" + "NotoSansCJKsc-Black.otf" + "NotoSansCJKsc-Light.otf" + "NotoSansCJKsc-Bold.woff" + "NotoSansCJKsc-DemiLight.otf" + "NotoSansCJKsc-Black.woff" + "NotoSansCJKsc-DemiLight.woff" + "NotoSansCJKsc-Black.woff2" + "NotoSansCJKsc-DemiLight.woff2" + "NotoSansCJKsc-Bold.woff2" + "font.css" + ) + + if [ ! -d "$JELLYFIN_ROOT_PATH/config/font" ]; then + mkdir -p "$JELLYFIN_ROOT_PATH/config/font" + for FILE in "${FONT_FILES[@]}"; do + wget -q "${BASE_URL}font/${FILE}" -P "$JELLYFIN_ROOT_PATH/config/font/" || echo "Failed to download $FILE, continuing..." + done + fi + + if [ ! -d "$JELLYFIN_ROOT_PATH/config/dejavu" ]; then + mkdir -p "$JELLYFIN_ROOT_PATH/config/dejavu" + for FILE in "${DEJAVU_FILES[@]}"; do + wget -q "${BASE_URL}dejavu/${FILE}" -P "$JELLYFIN_ROOT_PATH/config/dejavu/" || echo "Failed to download $FILE, continuing..." + done + fi + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/jellyfin/10.9.11/scripts/uninstall.sh b/apps/jellyfin/10.9.11/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/jellyfin/10.9.11/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/jellyfin/10.9.11/scripts/upgrade.sh b/apps/jellyfin/10.9.11/scripts/upgrade.sh new file mode 100644 index 000000000..c066befc7 --- /dev/null +++ b/apps/jellyfin/10.9.11/scripts/upgrade.sh @@ -0,0 +1,66 @@ +#!/bin/bash + +if [[ -f .env ]]; then + source .env + + BASE_URL="https://f.lifebus.top/public/1panel/appstore/jellyfin/" + + DEJAVU_FILES=( + "DejaVuSans.ttf" + "DejaVuSans-Bold.ttf" + "DejaVuSansMono.ttf" + "DejaVuSansMono-Bold.ttf" + "DejaVuSerif.ttf" + "DejaVuSerif-Bold.ttf" + ) + + FONT_FILES=( + "NotoSansMonoCJKsc-Bold.woff2" + "NotoSansMonoCJKsc-Regular.otf" + "NotoSansCJKsc-Regular.woff" + "NotoSansMonoCJKsc-Regular.woff" + "NotoSansMonoCJKsc-Regular.woff2" + "NotoSansMonoCJKsc-Bold.otf" + "NotoSansMonoCJKsc-Bold.woff" + "NotoSansCJKsc-Medium.otf" + "NotoSansCJKsc-Regular.otf" + "NotoSansCJKsc-Thin.woff2" + "NotoSansCJKsc-Thin.woff" + "NotoSansCJKsc-Regular.woff2" + "NotoSansCJKsc-Thin.otf" + "NotoSansCJKsc-Medium.woff" + "NotoSansCJKsc-Medium.woff2" + "NotoSansCJKsc-Light.woff" + "NotoSansCJKsc-Light.woff2" + "NotoSansCJKsc-Bold.otf" + "NotoSansCJKsc-Black.otf" + "NotoSansCJKsc-Light.otf" + "NotoSansCJKsc-Bold.woff" + "NotoSansCJKsc-DemiLight.otf" + "NotoSansCJKsc-Black.woff" + "NotoSansCJKsc-DemiLight.woff" + "NotoSansCJKsc-Black.woff2" + "NotoSansCJKsc-DemiLight.woff2" + "NotoSansCJKsc-Bold.woff2" + "font.css" + ) + + if [ ! -d "$JELLYFIN_ROOT_PATH/config/font" ]; then + mkdir -p "$JELLYFIN_ROOT_PATH/config/font" + for FILE in "${FONT_FILES[@]}"; do + wget -q "${BASE_URL}font/${FILE}" -P "$JELLYFIN_ROOT_PATH/config/font/" || echo "Failed to download $FILE, continuing..." + done + fi + + if [ ! -d "$JELLYFIN_ROOT_PATH/config/dejavu" ]; then + mkdir -p "$JELLYFIN_ROOT_PATH/config/dejavu" + for FILE in "${DEJAVU_FILES[@]}"; do + wget -q "${BASE_URL}dejavu/${FILE}" -P "$JELLYFIN_ROOT_PATH/config/dejavu/" || echo "Failed to download $FILE, continuing..." + done + fi + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi