diff --git a/appstore/casdoor/2.246.0/.env b/appstore/casdoor/2.246.1/.env similarity index 100% rename from appstore/casdoor/2.246.0/.env rename to appstore/casdoor/2.246.1/.env diff --git a/appstore/casdoor/2.246.0/config/init_data.json b/appstore/casdoor/2.246.1/config/init_data.json similarity index 100% rename from appstore/casdoor/2.246.0/config/init_data.json rename to appstore/casdoor/2.246.1/config/init_data.json diff --git a/appstore/casdoor/2.246.0/data.yml b/appstore/casdoor/2.246.1/data.yml similarity index 100% rename from appstore/casdoor/2.246.0/data.yml rename to appstore/casdoor/2.246.1/data.yml diff --git a/appstore/casdoor/2.246.0/docker-compose.yml b/appstore/casdoor/2.246.1/docker-compose.yml similarity index 93% rename from appstore/casdoor/2.246.0/docker-compose.yml rename to appstore/casdoor/2.246.1/docker-compose.yml index 64ae3d754..651c13620 100644 --- a/appstore/casdoor/2.246.0/docker-compose.yml +++ b/appstore/casdoor/2.246.1/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:2.246.0 + image: casbin/casdoor:2.246.1 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/2.246.0/envs/casdoor.env b/appstore/casdoor/2.246.1/envs/casdoor.env similarity index 100% rename from appstore/casdoor/2.246.0/envs/casdoor.env rename to appstore/casdoor/2.246.1/envs/casdoor.env diff --git a/appstore/casdoor/2.246.0/envs/default.env b/appstore/casdoor/2.246.1/envs/default.env similarity index 100% rename from appstore/casdoor/2.246.0/envs/default.env rename to appstore/casdoor/2.246.1/envs/default.env diff --git a/appstore/casdoor/2.246.0/envs/global.env b/appstore/casdoor/2.246.1/envs/global.env similarity index 100% rename from appstore/casdoor/2.246.0/envs/global.env rename to appstore/casdoor/2.246.1/envs/global.env diff --git a/appstore/casdoor/2.246.0/scripts/init.sh b/appstore/casdoor/2.246.1/scripts/init.sh similarity index 100% rename from appstore/casdoor/2.246.0/scripts/init.sh rename to appstore/casdoor/2.246.1/scripts/init.sh diff --git a/appstore/casdoor/2.246.0/scripts/uninstall.sh b/appstore/casdoor/2.246.1/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/2.246.0/scripts/uninstall.sh rename to appstore/casdoor/2.246.1/scripts/uninstall.sh diff --git a/appstore/casdoor/2.246.0/scripts/upgrade.sh b/appstore/casdoor/2.246.1/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/2.246.0/scripts/upgrade.sh rename to appstore/casdoor/2.246.1/scripts/upgrade.sh diff --git a/appstore/jackett/0.24.850/.env b/appstore/jackett/0.24.850/.env new file mode 100644 index 000000000..99d1d38e1 --- /dev/null +++ b/appstore/jackett/0.24.850/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +JACKETT_ROOT_PATH=/home/jackett + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9117 + diff --git a/appstore/jackett/0.24.850/data.yml b/appstore/jackett/0.24.850/data.yml new file mode 100644 index 000000000..bd275c038 --- /dev/null +++ b/appstore/jackett/0.24.850/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/jackett" + edit: true + envKey: JACKETT_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 9117 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/appstore/jackett/0.24.850/docker-compose.yml b/appstore/jackett/0.24.850/docker-compose.yml new file mode 100644 index 000000000..2441c0211 --- /dev/null +++ b/appstore/jackett/0.24.850/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + jackett: + container_name: jackett + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - PUID=1000 + - PGID=1000 + image: linuxserver/jackett:0.24.850 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:9117 + restart: always + volumes: + - ${JACKETT_ROOT_PATH}/config:/config + - ${JACKETT_ROOT_PATH}/downloads:/downloads diff --git a/appstore/peer-ban-helper/9.2.4/envs/default.env b/appstore/jackett/0.24.850/envs/default.env similarity index 100% rename from appstore/peer-ban-helper/9.2.4/envs/default.env rename to appstore/jackett/0.24.850/envs/default.env diff --git a/appstore/peer-ban-helper/9.2.4/envs/global.env b/appstore/jackett/0.24.850/envs/global.env similarity index 100% rename from appstore/peer-ban-helper/9.2.4/envs/global.env rename to appstore/jackett/0.24.850/envs/global.env diff --git a/appstore/jackett/0.24.850/scripts/init.sh b/appstore/jackett/0.24.850/scripts/init.sh new file mode 100644 index 000000000..91c37847b --- /dev/null +++ b/appstore/jackett/0.24.850/scripts/init.sh @@ -0,0 +1,24 @@ +#!/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 + + # setup-2 create dir + mkdir -p "$JACKETT_ROOT_PATH" + mkdir -p "$JACKETT_ROOT_PATH/config" + mkdir -p "$JACKETT_ROOT_PATH/downloads" + + chown -R 1000:1000 "$JACKETT_ROOT_PATH" + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/peer-ban-helper/9.2.4/scripts/uninstall.sh b/appstore/jackett/0.24.850/scripts/uninstall.sh similarity index 100% rename from appstore/peer-ban-helper/9.2.4/scripts/uninstall.sh rename to appstore/jackett/0.24.850/scripts/uninstall.sh diff --git a/appstore/peer-ban-helper/9.2.4/scripts/upgrade.sh b/appstore/jackett/0.24.850/scripts/upgrade.sh similarity index 100% rename from appstore/peer-ban-helper/9.2.4/scripts/upgrade.sh rename to appstore/jackett/0.24.850/scripts/upgrade.sh diff --git a/appstore/jackett/README.md b/appstore/jackett/README.md new file mode 100644 index 000000000..11a0039af --- /dev/null +++ b/appstore/jackett/README.md @@ -0,0 +1,16 @@ +# Jackett + +支持您喜爱的种子追踪器 API + +![Jackett](https://file.lifebus.top/imgs/jackett_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) + +## 简介 + +聚合索引器,支持您喜爱的种子追踪器 API + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) +![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W) diff --git a/appstore/jackett/data.yml b/appstore/jackett/data.yml new file mode 100644 index 000000000..ed939dc74 --- /dev/null +++ b/appstore/jackett/data.yml @@ -0,0 +1,16 @@ +additionalProperties: + key: jackett + name: Jackett + tags: + - WebSite + - Local + shortDescZh: API支持您最喜爱的种子追踪器 + shortDescEn: API Support for your favorite torrent trackers + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/Jackett/Jackett/ + github: https://github.com/Jackett/Jackett/ + document: https://github.com/Jackett/Jackett/ + architectures: + - amd64 diff --git a/appstore/jackett/logo.png b/appstore/jackett/logo.png new file mode 100644 index 000000000..bae8a1147 Binary files /dev/null and b/appstore/jackett/logo.png differ diff --git a/appstore/peer-ban-helper/9.2.4/.env b/appstore/peer-ban-helper/9.2.5/.env similarity index 100% rename from appstore/peer-ban-helper/9.2.4/.env rename to appstore/peer-ban-helper/9.2.5/.env diff --git a/appstore/peer-ban-helper/9.2.4/data.yml b/appstore/peer-ban-helper/9.2.5/data.yml similarity index 100% rename from appstore/peer-ban-helper/9.2.4/data.yml rename to appstore/peer-ban-helper/9.2.5/data.yml diff --git a/appstore/peer-ban-helper/9.2.4/docker-compose.yml b/appstore/peer-ban-helper/9.2.5/docker-compose.yml similarity index 91% rename from appstore/peer-ban-helper/9.2.4/docker-compose.yml rename to appstore/peer-ban-helper/9.2.5/docker-compose.yml index eea3daf47..a78319797 100644 --- a/appstore/peer-ban-helper/9.2.4/docker-compose.yml +++ b/appstore/peer-ban-helper/9.2.5/docker-compose.yml @@ -11,7 +11,7 @@ services: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - image: ghostchu/peerbanhelper:v9.2.4 + image: ghostchu/peerbanhelper:v9.2.5 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/peer-ban-helper/9.2.5/envs/default.env b/appstore/peer-ban-helper/9.2.5/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/peer-ban-helper/9.2.5/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/peer-ban-helper/9.2.5/envs/global.env b/appstore/peer-ban-helper/9.2.5/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/peer-ban-helper/9.2.5/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/peer-ban-helper/9.2.4/scripts/init.sh b/appstore/peer-ban-helper/9.2.5/scripts/init.sh similarity index 100% rename from appstore/peer-ban-helper/9.2.4/scripts/init.sh rename to appstore/peer-ban-helper/9.2.5/scripts/init.sh diff --git a/appstore/peer-ban-helper/9.2.5/scripts/uninstall.sh b/appstore/peer-ban-helper/9.2.5/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/peer-ban-helper/9.2.5/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/appstore/peer-ban-helper/9.2.5/scripts/upgrade.sh b/appstore/peer-ban-helper/9.2.5/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/peer-ban-helper/9.2.5/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/appstore/rust-srec/README.md b/appstore/rust-srec/README.md new file mode 100644 index 000000000..a1f1f7e8c --- /dev/null +++ b/appstore/rust-srec/README.md @@ -0,0 +1,94 @@ +# Rust Srec + +自动化直播录制解决方案 (Stream Rec 迭代版) + +基于 Rust 构建的高性能多平台直播录制系统 + +![Rust-Rec](https://file.lifebus.top/imgs/rust_rec_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) + +## 安装说明 + +### JWT 签名密钥 生成 + +```shell +openssl rand -hex 32 +``` + +### 会话密钥 生成 + +```shell +openssl rand -hex 32 +``` + +### 持久化路径 + +目前使用 `应用持久化路径` 与 `数据持久化路径` 配置,分别用于存储应用数据和录制数据。 + ++ `数据持久化路径`: 是指录制数据存放的路径,占用空间较多,请自行配置。 ++ `应用持久化路径`: 存放应用配置文件,如:JWT 签名密钥、会话密钥、数据库配置、日志配置、DAG 配置等。 + +## 特性 + +### 🎬 多平台支持 + +支持 Bilibili、抖音、斗鱼、虎牙、Twitch、TikTok 等平台 + +### ⚡ 高性能 + +Rust 构建,高效且资源占用低 + +### 🔄 DAG 管道 + +强大的后处理工作流(有向无环图) + +### 🎯 灵活配置 + +4 层配置层级,精细化控制 + +### 💬 弹幕支持 + +同步录制弹幕 + +### 🐳 容器化部署 + +支持 Docker 和 docker-compose 快速部署 + +### 📅 自定义录制计划 + +定时录制,自动管理文件名,便于组织归档 + +### 🔧 FLV 修复 + +自动修复损坏的 FLV 流,包括时间戳校正和元数据修复 + +## 直播平台支持列表 + +| 平台 | URL 格式 | 协议 | 弹幕 | +|:----------------------------------------------------------------------------------------|:------------------------------------------------------|:--------|:---| +| [Bilibili](https://hua0512.github.io/rust-srec/zh/platforms/bilibili.html) | `live.bilibili.com/{room_id}` | FLV/HLS | ✅ | +| [抖音](https://hua0512.github.io/rust-srec/zh/platforms/douyin.html) | `live.douyin.com/{room_id}` | FLV/HLS | ✅ | +| [斗鱼](https://hua0512.github.io/rust-srec/zh/platforms/douyu.html) | `douyu.com/{room_id}` | FLV | ✅ | +| [虎牙](https://hua0512.github.io/rust-srec/zh/platforms/huya.html) | `huya.com/{room_id}` | FLV/HLS | ✅ | +| [AcFun](https://hua0512.github.io/rust-srec/zh/platforms/others.html#acfun) | `acfun.cn/live/{room_id}` | HLS | ❌ | +| [PandaTV](https://hua0512.github.io/rust-srec/zh/platforms/others.html#pandatv) | `pandalive.co.kr/play/{id}` | HLS | ❌ | +| [小红书](https://hua0512.github.io/rust-srec/zh/platforms/others.html#redbook-小红书) | `xiaohongshu.com/user/profile/{id} or xhs.link/{id}` | HLS | ❌ | +| [微博](https://hua0512.github.io/rust-srec/zh/platforms/others.html#weibo) | `weibo.com/u/{uid} or weibo.com/l/wblive/p/show/{id}` | HLS | ❌ | +| [Twitch](https://hua0512.github.io/rust-srec/zh/platforms/twitch.html) | `twitch.tv/{channel}` | HLS | ✅ | +| [TikTok](https://hua0512.github.io/rust-srec/zh/platforms/others.html#tiktok) | `tiktok.com/@{user}/live` | HLS | ❌ | +| [Twitcasting](https://hua0512.github.io/rust-srec/zh/platforms/others.html#twitcasting) | `twitcasting.tv/{user}` | HLS | ✅ | +| [Picarto](https://hua0512.github.io/rust-srec/zh/platforms/others.html#picarto) | `picarto.tv/{user}` | HLS/MP4 | ❌ | + +## 安装说明 + +> 默认账户 +> +> 用户名:admin +> +> 密码:admin123! 或 `登录密码 (初始化)` 配置 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) +![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W) diff --git a/appstore/rust-srec/data.yml b/appstore/rust-srec/data.yml new file mode 100644 index 000000000..34b017c96 --- /dev/null +++ b/appstore/rust-srec/data.yml @@ -0,0 +1,18 @@ +additionalProperties: + key: rust-srec + name: Rust Srec + tags: + - WebSite + - Tool + - Local + shortDescZh: 自动流媒体录制工具 + shortDescEn: Automatic streaming record tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://hua0512.github.io/rust-srec/ + github: https://github.com/hua0512/rust-srec + document: https://hua0512.github.io/rust-srec/ + architectures: + - amd64 + - arm64 diff --git a/appstore/rust-srec/dev/.env b/appstore/rust-srec/dev/.env new file mode 100644 index 000000000..93a35353a --- /dev/null +++ b/appstore/rust-srec/dev/.env @@ -0,0 +1,24 @@ +# 应用持久化路径 [必填] +RUST_REC_ROOT_PATH=/home/rust-rec + +# 数据持久化路径 [必填] +RUST_REC_DATA_ROOT_PATH=/home/rust-rec + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8088 + +# API 端口 [必填] +PANEL_APP_PORT_API=8080 + +# JWT 签名密钥 [必填] +JWT_SECRET= + +# 会话密钥 [必填] +SESSION_SECRET= + +# 网络代理 +HTTP_PROXY= + +# 忽略代理 [必填] +NO_PROXY=localhost,127.0.0.1,rust-srec-backend + diff --git a/appstore/rust-srec/dev/data.yml b/appstore/rust-srec/dev/data.yml new file mode 100644 index 000000000..410c94d90 --- /dev/null +++ b/appstore/rust-srec/dev/data.yml @@ -0,0 +1,60 @@ +additionalProperties: + formFields: + - default: "/home/rust-rec" + edit: true + envKey: RUST_REC_ROOT_PATH + labelZh: 应用持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: "/home/rust-rec" + edit: true + envKey: RUST_REC_DATA_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8088 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: JWT_SECRET + labelZh: JWT 签名密钥 + labelEn: JWT Secret + required: true + type: text + - default: "" + edit: true + envKey: SESSION_SECRET + labelZh: 会话密钥 + labelEn: Session Secret + required: true + type: text + - default: "" + edit: true + envKey: HTTP_PROXY + labelZh: 网络代理 + labelEn: Network Proxy + required: false + type: text + - default: "localhost,127.0.0.1,rust-srec-backend" + edit: true + envKey: NO_PROXY + labelZh: 忽略代理 + labelEn: Ignore Proxy + required: true + type: text diff --git a/appstore/rust-srec/dev/docker-compose.yml b/appstore/rust-srec/dev/docker-compose.yml new file mode 100644 index 000000000..44648cc45 --- /dev/null +++ b/appstore/rust-srec/dev/docker-compose.yml @@ -0,0 +1,72 @@ +networks: + 1panel-network: + external: true +services: + rust-rec-frontend: + container_name: rust-srec + depends_on: + rust-srec-backend: + condition: service_healthy + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - BACKEND_URL=${BACKEND_URL:-http://rust-srec-backend:8080} + - COOKIE_SECURE=${COOKIE_SECURE:-} + image: ghcr.io/hua0512/rust-srec-frontend:dev + labels: + createdBy: Apps + logging: + driver: json-file + options: + max-file: '3' + max-size: 50m + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + rust-srec-backend: + container_name: backend-rust-srec + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - RUST_LOG=${RUST_LOG:-info} + - DATABASE_URL=${DATABASE_URL:-sqlite:///app/data/rust-srec.db} + - API_PORT=8080 + - API_BIND_ADDRESS=0.0.0.0 + - ACCESS_TOKEN_EXPIRATION_SECS=${ACCESS_TOKEN_EXPIRATION_SECS:-3600} + - REFRESH_TOKEN_EXPIRATION_SECS=${REFRESH_TOKEN_EXPIRATION_SECS:-604800} + - MIN_PASSWORD_LENGTH=${MIN_PASSWORD_LENGTH:-8} + - HTTP_PROXY=${HTTP_PROXY:-} + - HTTPS_PROXY=${HTTP_PROXY:-} + healthcheck: + interval: 30s + retries: 3 + start_period: 10s + test: + - CMD + - curl + - -f + - http://localhost:8080/api/health/live + timeout: 10s + image: ghcr.io/hua0512/rust-srec:dev + logging: + driver: json-file + options: + max-file: '5' + max-size: 100m + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_API}:8080 + restart: always + volumes: + - ${RUST_REC_DATA_ROOT_PATH}/data:/app/data + - ${RUST_REC_DATA_ROOT_PATH}/output:/app/output + - ${RUST_REC_ROOT_PATH}/config:/app/config + - ${RUST_REC_ROOT_PATH}/logs:/app/logs + - ${RUST_REC_ROOT_PATH}/tmp:/tmp diff --git a/appstore/rust-srec/dev/envs/default.env b/appstore/rust-srec/dev/envs/default.env new file mode 100644 index 000000000..405d4f599 --- /dev/null +++ b/appstore/rust-srec/dev/envs/default.env @@ -0,0 +1,8 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env +DATA_DIR=/app/data +CONFIG_DIR=/app/config +OUTPUT_DIR=/app/output +LOG_DIR=/app/logs +JWT_ISSUER=rust-srec +JWT_AUDIENCE=rust-srec-api diff --git a/appstore/rust-srec/dev/envs/global.env b/appstore/rust-srec/dev/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/rust-srec/dev/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rust-srec/dev/scripts/init.sh b/appstore/rust-srec/dev/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rust-srec/dev/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/appstore/rust-srec/dev/scripts/uninstall.sh b/appstore/rust-srec/dev/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/rust-srec/dev/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/appstore/rust-srec/dev/scripts/upgrade.sh b/appstore/rust-srec/dev/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rust-srec/dev/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/appstore/rust-srec/logo.png b/appstore/rust-srec/logo.png new file mode 100644 index 000000000..9bc4578a1 Binary files /dev/null and b/appstore/rust-srec/logo.png differ diff --git a/appstore/woodpecker-agent/README.md b/appstore/woodpecker-agent/README.md index 0241d2386..5c21d7264 100644 --- a/appstore/woodpecker-agent/README.md +++ b/appstore/woodpecker-agent/README.md @@ -2,7 +2,7 @@ 简单而强大的CI/CD引擎,具有很强的可扩展性 -![Woodpecker](https://file.lifebus.top/imgs/app_name_cover.png) +![Woodpecker](https://file.lifebus.top/imgs/woodpecker_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) diff --git a/appstore/woodpecker-server/3.13.0/.env b/appstore/woodpecker-server/3.13.0/.env index 5dd7a484f..e2b73eaff 100644 --- a/appstore/woodpecker-server/3.13.0/.env +++ b/appstore/woodpecker-server/3.13.0/.env @@ -22,6 +22,9 @@ WOODPECKER_ADMIN= # 组织列表 WOODPECKER_ORGS= +# 特权插件 +WOODPECKER_PLUGINS_PRIVILEGED= + # 登录过期时间 [必填] WOODPECKER_SESSION_EXPIRES=72h diff --git a/appstore/woodpecker-server/3.13.0/data.yml b/appstore/woodpecker-server/3.13.0/data.yml index ce9397511..081396d79 100644 --- a/appstore/woodpecker-server/3.13.0/data.yml +++ b/appstore/woodpecker-server/3.13.0/data.yml @@ -63,6 +63,13 @@ additionalProperties: labelEn: Organization list required: false type: text + - default: "" + edit: true + envKey: WOODPECKER_PLUGINS_PRIVILEGED + labelZh: 特权插件 + labelEn: Privileged plugins + required: false + type: text - default: "72h" edit: true envKey: WOODPECKER_SESSION_EXPIRES diff --git a/appstore/woodpecker-server/README.md b/appstore/woodpecker-server/README.md index 0241d2386..5c21d7264 100644 --- a/appstore/woodpecker-server/README.md +++ b/appstore/woodpecker-server/README.md @@ -2,7 +2,7 @@ 简单而强大的CI/CD引擎,具有很强的可扩展性 -![Woodpecker](https://file.lifebus.top/imgs/app_name_cover.png) +![Woodpecker](https://file.lifebus.top/imgs/woodpecker_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) diff --git a/appstore/woodpecker/README.md b/appstore/woodpecker/README.md index 0241d2386..5c21d7264 100644 --- a/appstore/woodpecker/README.md +++ b/appstore/woodpecker/README.md @@ -2,7 +2,7 @@ 简单而强大的CI/CD引擎,具有很强的可扩展性 -![Woodpecker](https://file.lifebus.top/imgs/app_name_cover.png) +![Woodpecker](https://file.lifebus.top/imgs/woodpecker_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) diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 64ae3d754..651c13620 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:2.246.0 + image: casbin/casdoor:2.246.1 labels: createdBy: Apps networks: diff --git a/dockge/jackett/.env b/dockge/jackett/.env new file mode 100644 index 000000000..99d1d38e1 --- /dev/null +++ b/dockge/jackett/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +JACKETT_ROOT_PATH=/home/jackett + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9117 + diff --git a/dockge/jackett/docker-compose.yml b/dockge/jackett/docker-compose.yml new file mode 100644 index 000000000..2441c0211 --- /dev/null +++ b/dockge/jackett/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + jackett: + container_name: jackett + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - PUID=1000 + - PGID=1000 + image: linuxserver/jackett:0.24.850 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:9117 + restart: always + volumes: + - ${JACKETT_ROOT_PATH}/config:/config + - ${JACKETT_ROOT_PATH}/downloads:/downloads diff --git a/dockge/jackett/envs/default.env b/dockge/jackett/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/jackett/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/jackett/envs/global.env b/dockge/jackett/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/jackett/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/peer-ban-helper/docker-compose.yml b/dockge/peer-ban-helper/docker-compose.yml index eea3daf47..a78319797 100644 --- a/dockge/peer-ban-helper/docker-compose.yml +++ b/dockge/peer-ban-helper/docker-compose.yml @@ -11,7 +11,7 @@ services: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - image: ghostchu/peerbanhelper:v9.2.4 + image: ghostchu/peerbanhelper:v9.2.5 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/rust-srec/.env b/dockge/rust-srec/.env new file mode 100644 index 000000000..93a35353a --- /dev/null +++ b/dockge/rust-srec/.env @@ -0,0 +1,24 @@ +# 应用持久化路径 [必填] +RUST_REC_ROOT_PATH=/home/rust-rec + +# 数据持久化路径 [必填] +RUST_REC_DATA_ROOT_PATH=/home/rust-rec + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8088 + +# API 端口 [必填] +PANEL_APP_PORT_API=8080 + +# JWT 签名密钥 [必填] +JWT_SECRET= + +# 会话密钥 [必填] +SESSION_SECRET= + +# 网络代理 +HTTP_PROXY= + +# 忽略代理 [必填] +NO_PROXY=localhost,127.0.0.1,rust-srec-backend + diff --git a/dockge/rust-srec/docker-compose.yml b/dockge/rust-srec/docker-compose.yml new file mode 100644 index 000000000..44648cc45 --- /dev/null +++ b/dockge/rust-srec/docker-compose.yml @@ -0,0 +1,72 @@ +networks: + 1panel-network: + external: true +services: + rust-rec-frontend: + container_name: rust-srec + depends_on: + rust-srec-backend: + condition: service_healthy + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - BACKEND_URL=${BACKEND_URL:-http://rust-srec-backend:8080} + - COOKIE_SECURE=${COOKIE_SECURE:-} + image: ghcr.io/hua0512/rust-srec-frontend:dev + labels: + createdBy: Apps + logging: + driver: json-file + options: + max-file: '3' + max-size: 50m + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + rust-srec-backend: + container_name: backend-rust-srec + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - RUST_LOG=${RUST_LOG:-info} + - DATABASE_URL=${DATABASE_URL:-sqlite:///app/data/rust-srec.db} + - API_PORT=8080 + - API_BIND_ADDRESS=0.0.0.0 + - ACCESS_TOKEN_EXPIRATION_SECS=${ACCESS_TOKEN_EXPIRATION_SECS:-3600} + - REFRESH_TOKEN_EXPIRATION_SECS=${REFRESH_TOKEN_EXPIRATION_SECS:-604800} + - MIN_PASSWORD_LENGTH=${MIN_PASSWORD_LENGTH:-8} + - HTTP_PROXY=${HTTP_PROXY:-} + - HTTPS_PROXY=${HTTP_PROXY:-} + healthcheck: + interval: 30s + retries: 3 + start_period: 10s + test: + - CMD + - curl + - -f + - http://localhost:8080/api/health/live + timeout: 10s + image: ghcr.io/hua0512/rust-srec:dev + logging: + driver: json-file + options: + max-file: '5' + max-size: 100m + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_API}:8080 + restart: always + volumes: + - ${RUST_REC_DATA_ROOT_PATH}/data:/app/data + - ${RUST_REC_DATA_ROOT_PATH}/output:/app/output + - ${RUST_REC_ROOT_PATH}/config:/app/config + - ${RUST_REC_ROOT_PATH}/logs:/app/logs + - ${RUST_REC_ROOT_PATH}/tmp:/tmp diff --git a/dockge/rust-srec/envs/default.env b/dockge/rust-srec/envs/default.env new file mode 100644 index 000000000..405d4f599 --- /dev/null +++ b/dockge/rust-srec/envs/default.env @@ -0,0 +1,8 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env +DATA_DIR=/app/data +CONFIG_DIR=/app/config +OUTPUT_DIR=/app/output +LOG_DIR=/app/logs +JWT_ISSUER=rust-srec +JWT_AUDIENCE=rust-srec-api diff --git a/dockge/rust-srec/envs/global.env b/dockge/rust-srec/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/rust-srec/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/woodpecker-server/.env b/dockge/woodpecker-server/.env index 5dd7a484f..e2b73eaff 100644 --- a/dockge/woodpecker-server/.env +++ b/dockge/woodpecker-server/.env @@ -22,6 +22,9 @@ WOODPECKER_ADMIN= # 组织列表 WOODPECKER_ORGS= +# 特权插件 +WOODPECKER_PLUGINS_PRIVILEGED= + # 登录过期时间 [必填] WOODPECKER_SESSION_EXPIRES=72h