diff --git a/appstore/bark/2.2.3/.env b/appstore/bark/2.2.5/.env similarity index 100% rename from appstore/bark/2.2.3/.env rename to appstore/bark/2.2.5/.env diff --git a/appstore/bark/2.2.3/data.yml b/appstore/bark/2.2.5/data.yml similarity index 100% rename from appstore/bark/2.2.3/data.yml rename to appstore/bark/2.2.5/data.yml diff --git a/appstore/bark/2.2.3/docker-compose.yml b/appstore/bark/2.2.5/docker-compose.yml similarity index 92% rename from appstore/bark/2.2.3/docker-compose.yml rename to appstore/bark/2.2.5/docker-compose.yml index 71ff9607f..b7addff97 100644 --- a/appstore/bark/2.2.3/docker-compose.yml +++ b/appstore/bark/2.2.5/docker-compose.yml @@ -12,7 +12,7 @@ services: - BARK_SERVER_URL_PREFIX=/ - BARK_SERVER_DATA_DIR=/data - BARK_SERVER_SERVERLESS=false - image: finab/bark-server:v2.2.3 + image: finab/bark-server:v2.2.5 labels: createdBy: Apps networks: diff --git a/appstore/bark/2.2.3/envs/default.env b/appstore/bark/2.2.5/envs/default.env similarity index 100% rename from appstore/bark/2.2.3/envs/default.env rename to appstore/bark/2.2.5/envs/default.env diff --git a/appstore/bark/2.2.3/envs/global.env b/appstore/bark/2.2.5/envs/global.env similarity index 100% rename from appstore/bark/2.2.3/envs/global.env rename to appstore/bark/2.2.5/envs/global.env diff --git a/appstore/bark/2.2.3/scripts/init.sh b/appstore/bark/2.2.5/scripts/init.sh similarity index 100% rename from appstore/bark/2.2.3/scripts/init.sh rename to appstore/bark/2.2.5/scripts/init.sh diff --git a/appstore/bark/2.2.3/scripts/uninstall.sh b/appstore/bark/2.2.5/scripts/uninstall.sh similarity index 100% rename from appstore/bark/2.2.3/scripts/uninstall.sh rename to appstore/bark/2.2.5/scripts/uninstall.sh diff --git a/appstore/bark/2.2.3/scripts/upgrade.sh b/appstore/bark/2.2.5/scripts/upgrade.sh similarity index 100% rename from appstore/bark/2.2.3/scripts/upgrade.sh rename to appstore/bark/2.2.5/scripts/upgrade.sh diff --git a/appstore/garage-hq/2.0.0/.env b/appstore/garage-hq/2.0.0/.env new file mode 100644 index 000000000..a3be5c340 --- /dev/null +++ b/appstore/garage-hq/2.0.0/.env @@ -0,0 +1,15 @@ +# 数据持久化路径 [必填] +GARAGE_ROOT_PATH=/home/garage + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3902 + +# S3 API 接口 [必填] +PANEL_APP_PORT_S3_API=3900 + +# RPC 通信 [必填] +PANEL_APP_PORT_RPC=3901 + +# 管理 API [必填] +PANEL_APP_PORT_API=3903 + diff --git a/appstore/garage-hq/2.0.0/data.yml b/appstore/garage-hq/2.0.0/data.yml new file mode 100644 index 000000000..df9ce99b8 --- /dev/null +++ b/appstore/garage-hq/2.0.0/data.yml @@ -0,0 +1,41 @@ +additionalProperties: + formFields: + - default: "/home/garage" + edit: true + envKey: GARAGE_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 3902 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 3900 + edit: true + envKey: PANEL_APP_PORT_S3_API + labelZh: S3 API 接口 + labelEn: S3 API + required: true + rule: paramPort + type: number + - default: 3901 + edit: true + envKey: PANEL_APP_PORT_RPC + labelZh: RPC 通信 + labelEn: RPC Communication + required: true + rule: paramPort + type: number + - default: 3903 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: 管理 API + labelEn: Manage API + required: true + rule: paramPort + type: number diff --git a/appstore/garage-hq/2.0.0/docker-compose.yml b/appstore/garage-hq/2.0.0/docker-compose.yml new file mode 100644 index 000000000..182bd3141 --- /dev/null +++ b/appstore/garage-hq/2.0.0/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true +services: + garage: + container_name: garage-hq + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: dxflrs/garage:v2.0.0 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_S3_API}:3900 + - ${PANEL_APP_PORT_RPC}:3901 + - ${PANEL_APP_PORT_HTTP}:3902 + - ${PANEL_APP_PORT_API}:3903 + restart: always + volumes: + - ${GARAGE_ROOT_PATH}/config/garage.toml:/etc/garage.toml + - ${GARAGE_ROOT_PATH}/meta:/var/lib/garage/meta + - ${GARAGE_ROOT_PATH}/data:/var/lib/garage/data diff --git a/appstore/jproxy/3.4.6/envs/default.env b/appstore/garage-hq/2.0.0/envs/default.env similarity index 100% rename from appstore/jproxy/3.4.6/envs/default.env rename to appstore/garage-hq/2.0.0/envs/default.env diff --git a/appstore/jproxy/3.4.6/envs/global.env b/appstore/garage-hq/2.0.0/envs/global.env similarity index 100% rename from appstore/jproxy/3.4.6/envs/global.env rename to appstore/garage-hq/2.0.0/envs/global.env diff --git a/appstore/garage-hq/2.0.0/scripts/init.sh b/appstore/garage-hq/2.0.0/scripts/init.sh new file mode 100644 index 000000000..88bb39b37 --- /dev/null +++ b/appstore/garage-hq/2.0.0/scripts/init.sh @@ -0,0 +1,68 @@ +#!/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 + + # 检查 GARAGE_ROOT_PATH 是否存在 + if [ -z "${GARAGE_ROOT_PATH}" ]; then + echo "Error: GARAGE_ROOT_PATH is not set in .env." + exit 1 + fi + + # 创建 config 目录 + CONFIG_DIR="${GARAGE_ROOT_PATH}/config" + mkdir -p "${CONFIG_DIR}" + CONFIG_FILE="${CONFIG_DIR}/garage.toml" + + # 检查文件是否存在并包含 admin_token + if [ -f "${CONFIG_FILE}" ] && grep -q '^admin_token' "${CONFIG_FILE}"; then + echo "garage.toml already exists and contains admin_token. Skipping creation." + else + echo "Creating or updating garage.toml..." + + cat > "${CONFIG_FILE}" < + + + diff --git a/appstore/jproxy/3.4.6/.env b/appstore/jproxy/3.4.7/.env similarity index 100% rename from appstore/jproxy/3.4.6/.env rename to appstore/jproxy/3.4.7/.env diff --git a/appstore/jproxy/3.4.6/data.yml b/appstore/jproxy/3.4.7/data.yml similarity index 100% rename from appstore/jproxy/3.4.6/data.yml rename to appstore/jproxy/3.4.7/data.yml diff --git a/appstore/jproxy/3.4.6/docker-compose.yml b/appstore/jproxy/3.4.7/docker-compose.yml similarity index 91% rename from appstore/jproxy/3.4.6/docker-compose.yml rename to appstore/jproxy/3.4.7/docker-compose.yml index ad3523889..7d539efa0 100644 --- a/appstore/jproxy/3.4.6/docker-compose.yml +++ b/appstore/jproxy/3.4.7/docker-compose.yml @@ -11,7 +11,7 @@ services: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - image: luckypuppy514/jproxy:v3.4.6 + image: luckypuppy514/jproxy:v3.4.7 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-07-17/envs/default.env b/appstore/jproxy/3.4.7/envs/default.env similarity index 100% rename from appstore/rsshub/2025-07-17/envs/default.env rename to appstore/jproxy/3.4.7/envs/default.env diff --git a/appstore/rsshub/2025-07-17/envs/global.env b/appstore/jproxy/3.4.7/envs/global.env similarity index 100% rename from appstore/rsshub/2025-07-17/envs/global.env rename to appstore/jproxy/3.4.7/envs/global.env diff --git a/appstore/jproxy/3.4.6/scripts/init.sh b/appstore/jproxy/3.4.7/scripts/init.sh similarity index 100% rename from appstore/jproxy/3.4.6/scripts/init.sh rename to appstore/jproxy/3.4.7/scripts/init.sh diff --git a/appstore/rsshub/2025-07-17/scripts/uninstall.sh b/appstore/jproxy/3.4.7/scripts/uninstall.sh similarity index 100% rename from appstore/rsshub/2025-07-17/scripts/uninstall.sh rename to appstore/jproxy/3.4.7/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-07-17/scripts/upgrade.sh b/appstore/jproxy/3.4.7/scripts/upgrade.sh similarity index 100% rename from appstore/rsshub/2025-07-17/scripts/upgrade.sh rename to appstore/jproxy/3.4.7/scripts/upgrade.sh diff --git a/appstore/libretv/202507110114/.env b/appstore/libretv/202507110114/.env new file mode 100644 index 000000000..bf720e219 --- /dev/null +++ b/appstore/libretv/202507110114/.env @@ -0,0 +1,6 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 密码 [必填] +PASSWORD=libretv + diff --git a/appstore/libretv/202507110114/data.yml b/appstore/libretv/202507110114/data.yml new file mode 100644 index 000000000..b24844ed2 --- /dev/null +++ b/appstore/libretv/202507110114/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "libretv" + edit: true + envKey: PASSWORD + labelZh: 密码 + labelEn: Password + required: true + type: password diff --git a/appstore/libretv/202507110114/docker-compose.yml b/appstore/libretv/202507110114/docker-compose.yml new file mode 100644 index 000000000..702e74b76 --- /dev/null +++ b/appstore/libretv/202507110114/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + libretv: + container_name: libretv + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: bestzwei/libretv:202507110114 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/appstore/libretv/202507110114/envs/default.env b/appstore/libretv/202507110114/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/libretv/202507110114/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/libretv/202507110114/envs/global.env b/appstore/libretv/202507110114/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/libretv/202507110114/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rsshub/2025-07-17/scripts/init.sh b/appstore/libretv/202507110114/scripts/init.sh similarity index 100% rename from appstore/rsshub/2025-07-17/scripts/init.sh rename to appstore/libretv/202507110114/scripts/init.sh diff --git a/appstore/libretv/202507110114/scripts/uninstall.sh b/appstore/libretv/202507110114/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/libretv/202507110114/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/libretv/202507110114/scripts/upgrade.sh b/appstore/libretv/202507110114/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/libretv/202507110114/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/libretv/README.md b/appstore/libretv/README.md new file mode 100644 index 000000000..44dec344c --- /dev/null +++ b/appstore/libretv/README.md @@ -0,0 +1,41 @@ +# LibreTV + +自由观影,畅享精彩 + +![LibreTV](https://file.lifebus.top/imgs/libretv_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) + +## 简介 + +LibreTV 是一个轻量级、免费的在线视频搜索与观看平台,提供来自多个视频源的内容搜索与播放服务。无需注册,即开即用,支持多种设备访问。项目结合了前端技术和后端代理功能,可部署在支持服务端功能的各类网站托管服务上。 + +## 特性 + +### 完全免费 + +100%免费使用,无任何付费功能,无会员制度,让每个人都能享受自由观影。 + +### 智能广告过滤 + +内置HLS广告切片过滤逻辑,尽可能减少视频播放中的广告干扰,提供更纯净的观影体验。 + +### 开源透明 + +完全开源,代码透明,社区驱动开发,安全可信赖。 + +### 多源聚合 + +聚合多个优质视频源,智能搜索,丰富的内容库满足不同用户的观影需求。支持标准苹果CMS V10 API格式,可自定义接口源。 + +### 响应式设计 + +完美适配手机、平板、电脑等各种设备,支持键盘快捷键操作,随时随地享受观影。 + +### 易于部署 + +支持Docker、Vercel、Netlify、Cloudflare等多种部署方式,快速搭建个人实例。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/libretv/data.yml b/appstore/libretv/data.yml new file mode 100644 index 000000000..1bf1ad129 --- /dev/null +++ b/appstore/libretv/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: libretv + name: LibreTV + tags: + - WebSite + - Local + shortDescZh: 免费在线视频搜索与观看平台 + shortDescEn: Free online video search and viewing platform + type: website + crossVersionUpdate: true + limit: 0 + website: https://libretv.is-an.org/ + github: https://github.com/LibreSpark/LibreTV/ + document: https://libretv.is-an.org/ diff --git a/appstore/libretv/latest/.env b/appstore/libretv/latest/.env new file mode 100644 index 000000000..bf720e219 --- /dev/null +++ b/appstore/libretv/latest/.env @@ -0,0 +1,6 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 密码 [必填] +PASSWORD=libretv + diff --git a/appstore/libretv/latest/data.yml b/appstore/libretv/latest/data.yml new file mode 100644 index 000000000..b24844ed2 --- /dev/null +++ b/appstore/libretv/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "libretv" + edit: true + envKey: PASSWORD + labelZh: 密码 + labelEn: Password + required: true + type: password diff --git a/appstore/libretv/latest/docker-compose.yml b/appstore/libretv/latest/docker-compose.yml new file mode 100644 index 000000000..61f39a480 --- /dev/null +++ b/appstore/libretv/latest/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + libretv: + container_name: libretv + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: bestzwei/libretv:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/appstore/libretv/latest/envs/default.env b/appstore/libretv/latest/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/libretv/latest/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/libretv/latest/envs/global.env b/appstore/libretv/latest/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/libretv/latest/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/libretv/latest/scripts/init.sh b/appstore/libretv/latest/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/libretv/latest/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/libretv/latest/scripts/uninstall.sh b/appstore/libretv/latest/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/libretv/latest/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/libretv/latest/scripts/upgrade.sh b/appstore/libretv/latest/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/libretv/latest/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/libretv/logo.png b/appstore/libretv/logo.png new file mode 100644 index 000000000..1d96ad756 Binary files /dev/null and b/appstore/libretv/logo.png differ diff --git a/appstore/readeck-pg/0.19.2/.env b/appstore/readeck-pg/0.19.2/.env new file mode 100644 index 000000000..90203b1ec --- /dev/null +++ b/appstore/readeck-pg/0.19.2/.env @@ -0,0 +1,60 @@ +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# 数据持久化路径 [必填] +READECK_ROOT_PATH=/home/readeck + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8000 + +# 数据库 主机地址 [必填] +POSTGRES_HOST=127.0.0.1 + +# 数据库 端口 [必填] +POSTGRES_PORT=5432 + +# 数据库 名称 [必填] +POSTGRES_NAME=readeck + +# 数据库 用户名 [必填] +POSTGRES_USER=readeck + +# 数据库 密码 [必填] +POSTGRES_PASSWORD= + +# 前缀路径 +READECK_SERVER_PREFIX=/ + +# HTTP 请求中允许的主机名列表 +READECK_ALLOWED_HOSTS= + +# 绑定域名 +READECK_SERVER_BASE_URL= + +# 分享有效期 [必填] +READECK_PUBLIC_SHARE_TTL=24 + +# 邮件服务器 +READECK_MAIL_HOST=smtp.qq.com + +# 邮件服务器 端口 +READECK_MAIL_PORT=465 + +# 邮件鉴权 用户名 +READECK_MAIL_USERNAME= + +# 邮件鉴权 密码 +READECK_MAIL_PASSWORD= + +# 邮件发送者 +READECK_MAIL_FROM= + +# 邮件发送者 (无回复) +READECK_MAIL_FROMNOREPLY= + +# 服务器证书验证 +READECK_MAIL_INSECURE=false + +# SMTP 主机 加密方式 +READECK_MAIL_ENCRYPTION= + diff --git a/appstore/readeck-pg/0.19.2/data.yml b/appstore/readeck-pg/0.19.2/data.yml new file mode 100644 index 000000000..e3f45e634 --- /dev/null +++ b/appstore/readeck-pg/0.19.2/data.yml @@ -0,0 +1,164 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_POSTGRES_SERVICE + required: true + type: service + default: postgresql + envKey: PANEL_POSTGRES_TYPE + labelZh: Postgres 服务 (前置检查) + labelEn: Postgres Service (Pre-check) + required: true + type: apps + values: + - label: PostgreSQL + value: postgresql + - default: "/home/readeck" + edit: true + envKey: READECK_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "127.0.0.1" + edit: true + envKey: POSTGRES_HOST + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: POSTGRES_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "readeck" + edit: true + envKey: POSTGRES_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "readeck" + edit: true + envKey: POSTGRES_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: POSTGRES_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password + - default: "/" + edit: true + envKey: READECK_SERVER_PREFIX + labelZh: 前缀路径 + labelEn: Prefix path + required: false + type: text + - default: "" + edit: true + envKey: READECK_ALLOWED_HOSTS + labelZh: HTTP 请求中允许的主机名列表 + labelEn: HTTP request allowed host name list + required: false + type: text + - default: "" + edit: true + envKey: READECK_SERVER_BASE_URL + labelZh: 绑定域名 + labelEn: Binding domain + required: false + type: text + - default: 24 + edit: true + envKey: READECK_PUBLIC_SHARE_TTL + labelZh: 分享有效期 + labelEn: Share validity period + required: true + type: number + - default: "smtp.qq.com" + edit: true + envKey: READECK_MAIL_HOST + labelZh: 邮件服务器 + labelEn: Mail Server + required: false + type: text + - default: 465 + edit: true + envKey: READECK_MAIL_PORT + labelZh: 邮件服务器 端口 + labelEn: Mail Server Port + required: false + type: number + - default: "" + edit: true + envKey: READECK_MAIL_USERNAME + labelZh: 邮件鉴权 用户名 + labelEn: Mail Username + required: false + type: text + - default: "" + edit: true + envKey: READECK_MAIL_PASSWORD + labelZh: 邮件鉴权 密码 + labelEn: Mail Password + required: false + type: password + - default: "" + edit: true + envKey: READECK_MAIL_FROM + labelZh: 邮件发送者 + labelEn: Mail Sender + required: false + type: text + - default: "" + edit: true + envKey: READECK_MAIL_FROMNOREPLY + labelZh: 邮件发送者 (无回复) + labelEn: Mail Sender (No Reply) + required: false + type: text + - default: "false" + edit: true + envKey: READECK_MAIL_INSECURE + labelZh: 服务器证书验证 + labelEn: Server certificate verification + required: false + type: select + values: + - label: 不验证 + value: "true" + - label: 验证 + value: "false" + - default: "" + edit: true + envKey: READECK_MAIL_ENCRYPTION + labelZh: SMTP 主机 加密方式 + labelEn: SMTP Host Encryption Method + required: false + type: select + values: + - label: StartTLS + value: "starttls" + - label: SSL/TLS + value: "ssltls" diff --git a/appstore/readeck-pg/0.19.2/docker-compose.yml b/appstore/readeck-pg/0.19.2/docker-compose.yml new file mode 100644 index 000000000..61f4e5ad4 --- /dev/null +++ b/appstore/readeck-pg/0.19.2/docker-compose.yml @@ -0,0 +1,35 @@ +networks: + 1panel-network: + external: true +services: + readeck: + container_name: readeck-pg + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - READECK_LOG_LEVEL=info + - READECK_SERVER_HOST=0.0.0.0 + - READECK_SERVER_PORT=${PANEL_APP_PORT_HTTP} + - READECK_DATABASE_SOURCE=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_NAME} + healthcheck: + interval: 30s + retries: 3 + test: + - CMD + - /bin/readeck + - healthcheck + - -config + - config.toml + timeout: 2s + image: codeberg.org/readeck/readeck:0.19.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + restart: always + volumes: + - ${READECK_ROOT_PATH}/data:/data diff --git a/appstore/readeck-pg/0.19.2/envs/default.env b/appstore/readeck-pg/0.19.2/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/readeck-pg/0.19.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/readeck-pg/0.19.2/envs/global.env b/appstore/readeck-pg/0.19.2/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/readeck-pg/0.19.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/readeck-pg/0.19.2/scripts/init.sh b/appstore/readeck-pg/0.19.2/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/readeck-pg/0.19.2/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/readeck-pg/0.19.2/scripts/uninstall.sh b/appstore/readeck-pg/0.19.2/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/readeck-pg/0.19.2/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/readeck-pg/0.19.2/scripts/upgrade.sh b/appstore/readeck-pg/0.19.2/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/readeck-pg/0.19.2/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/readeck-pg/README.md b/appstore/readeck-pg/README.md new file mode 100644 index 000000000..c73d8c4c8 --- /dev/null +++ b/appstore/readeck-pg/README.md @@ -0,0 +1,66 @@ +# Readeck + +Readeck 是一个简单的网络应用程序,可让您保存您喜欢并希望永久保留的网页的宝贵可读内容。 +将其视为书签管理器和稍后阅读工具。 + +![Readeck](https://file.lifebus.top/imgs/readeck_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) + +## 简介 + +Readeck 是一个开源的网页内容存档工具,它不仅能像普通书签管理器一样保存链接,还能将网页内容(包括文字、图片甚至视频)完整打包成离线文件。 +就算原网站倒闭跑路,你保存的内容依然妥妥存在自己的服务器里! + +## 特性 + +### 🔖 书签 + +喜欢你正在阅读的页面?把链接粘贴到 Readeck 就完成了! + +### 📸 文章、图片和视频 + +Readeck 会保存网页的可读内容,方便您稍后阅读。它还能检测页面内容是图片还是视频,并相应地调整处理方式。 + +### ⭐ 标签、收藏、存档 + +将书签移动到档案或收藏夹并添加任意数量的标签。 + +### 🖍️ 亮点 + +突出显示书签的重要内容,以便以后轻松找到。 + +### 🗃️ 收藏集 + +如果您需要一个专门的部分来存储过去两周内标有“cat”的所有书签,Readeck 可让您将此搜索查询保存到一个集合中,以便您以后访问它。 + +### 📖 电子书导出 + +还有什么比在电子阅读器上阅读你收藏的文章更棒的呢?你可以将任何文章导出为电子书文件 (EPUB)。你甚至可以将整个收藏集导出为一本书! + +除此之外,如果您的电子阅读器支持 OPDS,您可以直接从电子阅读器访问 Readeck 的目录和收藏。 + +### 🔎 全文搜索 + +无论您需要从文章中查找模糊的文字,还是查找具有特定标签或来自特定网站的所有文章,我们都能满足您的需求! + +### 🚀 快! + +Readeck 是对那些看似枯燥乏味却久经考验的技术产品的现代诠释。它保证了极快的响应时间和流畅的用户体验。 + +### 🔒 专为保护您的隐私和长期存档而打造 + +你喜欢的这篇文章明年还会上线吗?十年后呢?也许不会;也许它连文字和图片都消失了。出于这个原因,也为了保护你的隐私,当你保存链接时,所有文字和图片都会存储在你的 +Readeck 实例中。 +除视频外,您的浏览器不会向外部网站发出任何请求。 + +### 🧩 浏览器扩展 + +想在浏览时保存一些内容以供日后使用?无需复制粘贴链接。安装浏览器扩展程序,一键保存书签! + ++ [Mozilla Firefox](https://addons.mozilla.org/en-US/firefox/addon/readeck/) ++ [Google Chrome](https://chromewebstore.google.com/detail/readeck/jnmcpmfimecibicbojhopfkcbmkafhee) + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/readeck-pg/data.yml b/appstore/readeck-pg/data.yml new file mode 100644 index 000000000..2b7419f53 --- /dev/null +++ b/appstore/readeck-pg/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: readeck-pg + name: Readeck (PostgreSQL版) + tags: + - WebSite + - Local + shortDescZh: 网页内容存档工具 + shortDescEn: web content archiving tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://readeck.org/ + github: https://codeberg.org/readeck/readeck/ + document: https://readeck.org/ diff --git a/appstore/readeck-pg/logo.png b/appstore/readeck-pg/logo.png new file mode 100644 index 000000000..a32d613d7 Binary files /dev/null and b/appstore/readeck-pg/logo.png differ diff --git a/appstore/readeck-pg/logo.svg b/appstore/readeck-pg/logo.svg new file mode 100644 index 000000000..7335416e8 --- /dev/null +++ b/appstore/readeck-pg/logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/appstore/readeck/0.19.2/.env b/appstore/readeck/0.19.2/.env new file mode 100644 index 000000000..37c34c54a --- /dev/null +++ b/appstore/readeck/0.19.2/.env @@ -0,0 +1,42 @@ +# 数据持久化路径 [必填] +READECK_ROOT_PATH=/home/readeck + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8000 + +# 前缀路径 +READECK_SERVER_PREFIX=/ + +# HTTP 请求中允许的主机名列表 +READECK_ALLOWED_HOSTS= + +# 绑定域名 +READECK_SERVER_BASE_URL= + +# 分享有效期 [必填] +READECK_PUBLIC_SHARE_TTL=24 + +# 邮件服务器 +READECK_MAIL_HOST=smtp.qq.com + +# 邮件服务器 端口 +READECK_MAIL_PORT=465 + +# 邮件鉴权 用户名 +READECK_MAIL_USERNAME= + +# 邮件鉴权 密码 +READECK_MAIL_PASSWORD= + +# 邮件发送者 +READECK_MAIL_FROM= + +# 邮件发送者 (无回复) +READECK_MAIL_FROMNOREPLY= + +# 服务器证书验证 +READECK_MAIL_INSECURE=false + +# SMTP 主机 加密方式 +READECK_MAIL_ENCRYPTION= + diff --git a/appstore/readeck/0.19.2/data.yml b/appstore/readeck/0.19.2/data.yml new file mode 100644 index 000000000..a522211d2 --- /dev/null +++ b/appstore/readeck/0.19.2/data.yml @@ -0,0 +1,111 @@ +additionalProperties: + formFields: + - default: "/home/readeck" + edit: true + envKey: READECK_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8000 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "/" + edit: true + envKey: READECK_SERVER_PREFIX + labelZh: 前缀路径 + labelEn: Prefix path + required: false + type: text + - default: "" + edit: true + envKey: READECK_ALLOWED_HOSTS + labelZh: HTTP 请求中允许的主机名列表 + labelEn: HTTP request allowed host name list + required: false + type: text + - default: "" + edit: true + envKey: READECK_SERVER_BASE_URL + labelZh: 绑定域名 + labelEn: Binding domain + required: false + type: text + - default: 24 + edit: true + envKey: READECK_PUBLIC_SHARE_TTL + labelZh: 分享有效期 + labelEn: Share validity period + required: true + type: number + - default: "smtp.qq.com" + edit: true + envKey: READECK_MAIL_HOST + labelZh: 邮件服务器 + labelEn: Mail Server + required: false + type: text + - default: 465 + edit: true + envKey: READECK_MAIL_PORT + labelZh: 邮件服务器 端口 + labelEn: Mail Server Port + required: false + type: number + - default: "" + edit: true + envKey: READECK_MAIL_USERNAME + labelZh: 邮件鉴权 用户名 + labelEn: Mail Username + required: false + type: text + - default: "" + edit: true + envKey: READECK_MAIL_PASSWORD + labelZh: 邮件鉴权 密码 + labelEn: Mail Password + required: false + type: password + - default: "" + edit: true + envKey: READECK_MAIL_FROM + labelZh: 邮件发送者 + labelEn: Mail Sender + required: false + type: text + - default: "" + edit: true + envKey: READECK_MAIL_FROMNOREPLY + labelZh: 邮件发送者 (无回复) + labelEn: Mail Sender (No Reply) + required: false + type: text + - default: "false" + edit: true + envKey: READECK_MAIL_INSECURE + labelZh: 服务器证书验证 + labelEn: Server certificate verification + required: false + type: select + values: + - label: 不验证 + value: "true" + - label: 验证 + value: "false" + - default: "" + edit: true + envKey: READECK_MAIL_ENCRYPTION + labelZh: SMTP 主机 加密方式 + labelEn: SMTP Host Encryption Method + required: false + type: select + values: + - label: StartTLS + value: "starttls" + - label: SSL/TLS + value: "ssltls" diff --git a/appstore/readeck/0.19.2/docker-compose.yml b/appstore/readeck/0.19.2/docker-compose.yml new file mode 100644 index 000000000..7218dac68 --- /dev/null +++ b/appstore/readeck/0.19.2/docker-compose.yml @@ -0,0 +1,34 @@ +networks: + 1panel-network: + external: true +services: + readeck: + container_name: readeck + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - READECK_LOG_LEVEL=info + - READECK_SERVER_HOST=0.0.0.0 + - READECK_SERVER_PORT=${PANEL_APP_PORT_HTTP} + healthcheck: + interval: 30s + retries: 3 + test: + - CMD + - /bin/readeck + - healthcheck + - -config + - config.toml + timeout: 2s + image: codeberg.org/readeck/readeck:0.19.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + restart: always + volumes: + - ${READECK_ROOT_PATH}/data:/data diff --git a/appstore/readeck/0.19.2/envs/default.env b/appstore/readeck/0.19.2/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/readeck/0.19.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/readeck/0.19.2/envs/global.env b/appstore/readeck/0.19.2/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/readeck/0.19.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/readeck/0.19.2/scripts/init.sh b/appstore/readeck/0.19.2/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/readeck/0.19.2/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/readeck/0.19.2/scripts/uninstall.sh b/appstore/readeck/0.19.2/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/readeck/0.19.2/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/readeck/0.19.2/scripts/upgrade.sh b/appstore/readeck/0.19.2/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/readeck/0.19.2/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/readeck/README.md b/appstore/readeck/README.md new file mode 100644 index 000000000..c73d8c4c8 --- /dev/null +++ b/appstore/readeck/README.md @@ -0,0 +1,66 @@ +# Readeck + +Readeck 是一个简单的网络应用程序,可让您保存您喜欢并希望永久保留的网页的宝贵可读内容。 +将其视为书签管理器和稍后阅读工具。 + +![Readeck](https://file.lifebus.top/imgs/readeck_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) + +## 简介 + +Readeck 是一个开源的网页内容存档工具,它不仅能像普通书签管理器一样保存链接,还能将网页内容(包括文字、图片甚至视频)完整打包成离线文件。 +就算原网站倒闭跑路,你保存的内容依然妥妥存在自己的服务器里! + +## 特性 + +### 🔖 书签 + +喜欢你正在阅读的页面?把链接粘贴到 Readeck 就完成了! + +### 📸 文章、图片和视频 + +Readeck 会保存网页的可读内容,方便您稍后阅读。它还能检测页面内容是图片还是视频,并相应地调整处理方式。 + +### ⭐ 标签、收藏、存档 + +将书签移动到档案或收藏夹并添加任意数量的标签。 + +### 🖍️ 亮点 + +突出显示书签的重要内容,以便以后轻松找到。 + +### 🗃️ 收藏集 + +如果您需要一个专门的部分来存储过去两周内标有“cat”的所有书签,Readeck 可让您将此搜索查询保存到一个集合中,以便您以后访问它。 + +### 📖 电子书导出 + +还有什么比在电子阅读器上阅读你收藏的文章更棒的呢?你可以将任何文章导出为电子书文件 (EPUB)。你甚至可以将整个收藏集导出为一本书! + +除此之外,如果您的电子阅读器支持 OPDS,您可以直接从电子阅读器访问 Readeck 的目录和收藏。 + +### 🔎 全文搜索 + +无论您需要从文章中查找模糊的文字,还是查找具有特定标签或来自特定网站的所有文章,我们都能满足您的需求! + +### 🚀 快! + +Readeck 是对那些看似枯燥乏味却久经考验的技术产品的现代诠释。它保证了极快的响应时间和流畅的用户体验。 + +### 🔒 专为保护您的隐私和长期存档而打造 + +你喜欢的这篇文章明年还会上线吗?十年后呢?也许不会;也许它连文字和图片都消失了。出于这个原因,也为了保护你的隐私,当你保存链接时,所有文字和图片都会存储在你的 +Readeck 实例中。 +除视频外,您的浏览器不会向外部网站发出任何请求。 + +### 🧩 浏览器扩展 + +想在浏览时保存一些内容以供日后使用?无需复制粘贴链接。安装浏览器扩展程序,一键保存书签! + ++ [Mozilla Firefox](https://addons.mozilla.org/en-US/firefox/addon/readeck/) ++ [Google Chrome](https://chromewebstore.google.com/detail/readeck/jnmcpmfimecibicbojhopfkcbmkafhee) + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/readeck/data.yml b/appstore/readeck/data.yml new file mode 100644 index 000000000..be5edb244 --- /dev/null +++ b/appstore/readeck/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: readeck + name: Readeck + tags: + - WebSite + - Local + shortDescZh: 网页内容存档工具 + shortDescEn: web content archiving tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://readeck.org/ + github: https://codeberg.org/readeck/readeck/ + document: https://readeck.org/ diff --git a/appstore/readeck/logo.png b/appstore/readeck/logo.png new file mode 100644 index 000000000..a32d613d7 Binary files /dev/null and b/appstore/readeck/logo.png differ diff --git a/appstore/readeck/logo.svg b/appstore/readeck/logo.svg new file mode 100644 index 000000000..7335416e8 --- /dev/null +++ b/appstore/readeck/logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/appstore/rsshub/2025-07-17/.env b/appstore/rsshub/2025-07-18/.env similarity index 100% rename from appstore/rsshub/2025-07-17/.env rename to appstore/rsshub/2025-07-18/.env diff --git a/appstore/rsshub/2025-07-17/data.yml b/appstore/rsshub/2025-07-18/data.yml similarity index 100% rename from appstore/rsshub/2025-07-17/data.yml rename to appstore/rsshub/2025-07-18/data.yml diff --git a/appstore/rsshub/2025-07-17/docker-compose.yml b/appstore/rsshub/2025-07-18/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-07-17/docker-compose.yml rename to appstore/rsshub/2025-07-18/docker-compose.yml index 46d152d98..fe7deb308 100644 --- a/appstore/rsshub/2025-07-17/docker-compose.yml +++ b/appstore/rsshub/2025-07-18/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-07-17 + image: diygod/rsshub:2025-07-18 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-07-18/envs/default.env b/appstore/rsshub/2025-07-18/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/rsshub/2025-07-18/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/rsshub/2025-07-18/envs/global.env b/appstore/rsshub/2025-07-18/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/rsshub/2025-07-18/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rsshub/2025-07-18/scripts/init.sh b/appstore/rsshub/2025-07-18/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-07-18/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/rsshub/2025-07-18/scripts/uninstall.sh b/appstore/rsshub/2025-07-18/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/rsshub/2025-07-18/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/rsshub/2025-07-18/scripts/upgrade.sh b/appstore/rsshub/2025-07-18/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-07-18/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/seaweedfs/3.94/.env b/appstore/seaweedfs/3.94/.env new file mode 100644 index 000000000..c999c7059 --- /dev/null +++ b/appstore/seaweedfs/3.94/.env @@ -0,0 +1,51 @@ +# 数据持久化路径 [必填] +SEAWEEDFS_ROOT_PATH=/home/seaweedfs + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8333 + +# S3 监控端口 [必填] +PANEL_APP_PORT_S3_METRICS=9327 + +# 集群服务端口 [必填] +PANEL_APP_PORT_MASTER_SERVER=9333 + +# 集群通讯端口 [必填] +PANEL_APP_PORT_MASTER_API=19333 + +# 集群监控端口 [必填] +PANEL_APP_PORT_MASTER_METRICS=9324 + +# 存储服务端口 [必填] +PANEL_APP_PORT_VOLUME_SERVER=8080 + +# 存储通讯端口 [必填] +PANEL_APP_PORT_VOLUME_API=18080 + +# 存储监控端口 [必填] +PANEL_APP_PORT_VOLUME_METRICS=9325 + +# 索引服务端口 [必填] +PANEL_APP_PORT_FILER_SERVER=8888 + +# 索引通讯端口 [必填] +PANEL_APP_PORT_FILER_API=18888 + +# 索引监控端口 [必填] +PANEL_APP_PORT_FILER_METRICS=9326 + +# WebDAV 端口 [必填] +PANEL_APP_PORT_WEBDAV=7333 + +# Prometheus 端口 [必填] +PANEL_APP_PORT_METRICS=9090 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/appstore/seaweedfs/3.94/config/prometheus.yml b/appstore/seaweedfs/3.94/config/prometheus.yml new file mode 100644 index 000000000..2f0ead441 --- /dev/null +++ b/appstore/seaweedfs/3.94/config/prometheus.yml @@ -0,0 +1,14 @@ +global: + scrape_interval: 30s + scrape_timeout: 10s + +scrape_configs: + - job_name: services + metrics_path: /metrics + static_configs: + - targets: + - 'prometheus:9090' + - 'master:9324' + - 'volume:9325' + - 'filer:9326' + - 's3:9327' \ No newline at end of file diff --git a/appstore/seaweedfs/3.94/data.yml b/appstore/seaweedfs/3.94/data.yml new file mode 100644 index 000000000..fd2e8aa51 --- /dev/null +++ b/appstore/seaweedfs/3.94/data.yml @@ -0,0 +1,134 @@ +additionalProperties: + formFields: + - default: "/home/seaweedfs" + edit: true + envKey: SEAWEEDFS_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8333 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 9327 + edit: true + envKey: PANEL_APP_PORT_S3_METRICS + labelZh: S3 监控端口 + labelEn: S3 Metrics port + required: true + rule: paramPort + type: number + - default: 9333 + edit: true + envKey: PANEL_APP_PORT_MASTER_SERVER + labelZh: 集群服务端口 + labelEn: Cluster service port + required: true + rule: paramPort + type: number + - default: 19333 + edit: true + envKey: PANEL_APP_PORT_MASTER_API + labelZh: 集群通讯端口 + labelEn: Cluster communication port + required: true + rule: paramPort + type: number + - default: 9324 + edit: true + envKey: PANEL_APP_PORT_MASTER_METRICS + labelZh: 集群监控端口 + labelEn: Cluster Metrics port + required: true + rule: paramPort + type: number + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_VOLUME_SERVER + labelZh: 存储服务端口 + labelEn: Storage service port + required: true + rule: paramPort + type: number + - default: 18080 + edit: true + envKey: PANEL_APP_PORT_VOLUME_API + labelZh: 存储通讯端口 + labelEn: Storage communication port + required: true + rule: paramPort + type: number + - default: 9325 + edit: true + envKey: PANEL_APP_PORT_VOLUME_METRICS + labelZh: 存储监控端口 + labelEn: Storage Metrics port + required: true + rule: paramPort + type: number + - default: 8888 + edit: true + envKey: PANEL_APP_PORT_FILER_SERVER + labelZh: 索引服务端口 + labelEn: Index service port + required: true + rule: paramPort + type: number + - default: 18888 + edit: true + envKey: PANEL_APP_PORT_FILER_API + labelZh: 索引通讯端口 + labelEn: Index communication port + required: true + rule: paramPort + type: number + - default: 9326 + edit: true + envKey: PANEL_APP_PORT_FILER_METRICS + labelZh: 索引监控端口 + labelEn: Index Metrics port + required: true + rule: paramPort + type: number + - default: 7333 + edit: true + envKey: PANEL_APP_PORT_WEBDAV + labelZh: WebDAV 端口 + labelEn: WebDAV port + required: true + rule: paramPort + type: number + - default: 9090 + edit: true + envKey: PANEL_APP_PORT_METRICS + labelZh: Prometheus 端口 + labelEn: Prometheus 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/appstore/seaweedfs/3.94/docker-compose.yml b/appstore/seaweedfs/3.94/docker-compose.yml new file mode 100644 index 000000000..157af1a53 --- /dev/null +++ b/appstore/seaweedfs/3.94/docker-compose.yml @@ -0,0 +1,138 @@ +networks: + 1panel-network: + external: true + seaweedfs-network: + external: true +services: + seaweedfs-filer: + command: filer -master="master:9333" -ip.bind=0.0.0.0 -metricsPort=9326 + container_name: seaweedfs-filer + depends_on: + - seaweedfs-master + - seaweedfs-volume + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_FILER_SERVER}:8888 + - ${PANEL_APP_PORT_FILER_API}:18888 + - ${PANEL_APP_PORT_FILER_METRICS}:9326 + restart: always + stdin_open: true + tty: true + volumes: + - ${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} + seaweedfs-master: + command: master -ip=master -ip.bind=0.0.0.0 -metricsPort=9324 + container_name: seaweedfs-master + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_MASTER_SERVER}:9333 + - ${PANEL_APP_PORT_MASTER_API}:19333 + - ${PANEL_APP_PORT_MASTER_METRICS}:9324 + restart: always + volumes: + - ${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} + seaweedfs-prometheus: + command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml + container_name: seaweedfs-prometheus + depends_on: + - seaweedfs-s3 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: prom/prometheus:v2.21.0 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_METRICS}:9090 + restart: always + volumes: + - ${SEAWEEDFS_ROOT_PATH}/prometheus:/etc/prometheus + seaweedfs-s3: + command: s3 -filer="filer:8888" -ip.bind=0.0.0.0 -metricsPort=9327 + container_name: seaweedfs + depends_on: + - seaweedfs-master + - seaweedfs-volume + - seaweedfs-filer + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + labels: + createdBy: Apps + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_HTTP}:8333 + - ${PANEL_APP_PORT_S3_METRICS}:9327 + restart: always + volumes: + - ${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} + seaweedfs-volume: + command: volume -mserver="master:9333" -ip.bind=0.0.0.0 -port=8080 -metricsPort=9325 + container_name: seaweedfs-volume + depends_on: + - seaweedfs-master + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_VOLUME_SERVER}:8080 + - ${PANEL_APP_PORT_VOLUME_API}:18080 + - ${PANEL_APP_PORT_VOLUME_METRICS}:9325 + restart: always + volumes: + - ${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} + seaweedfs-webdav: + command: webdav -filer="filer:8888" + container_name: seaweedfs-webdav + depends_on: + - seaweedfs-master + - seaweedfs-volume + - seaweedfs-filer + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_WEBDAV}:7333 + restart: always + volumes: + - ${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} diff --git a/appstore/seaweedfs/3.94/envs/default.env b/appstore/seaweedfs/3.94/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/seaweedfs/3.94/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/seaweedfs/3.94/envs/global.env b/appstore/seaweedfs/3.94/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/seaweedfs/3.94/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/seaweedfs/3.94/scripts/init.sh b/appstore/seaweedfs/3.94/scripts/init.sh new file mode 100644 index 000000000..e6604710b --- /dev/null +++ b/appstore/seaweedfs/3.94/scripts/init.sh @@ -0,0 +1,22 @@ +#!/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 + + if [ ! -d $SEAWEEDFS_ROOT_PATH/prometheus ]; then + mkdir -p $SEAWEEDFS_ROOT_PATH/prometheus + fi + cp -rn ./config/* $SEAWEEDFS_ROOT_PATH/prometheus/ + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/seaweedfs/3.94/scripts/uninstall.sh b/appstore/seaweedfs/3.94/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/seaweedfs/3.94/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/seaweedfs/3.94/scripts/upgrade.sh b/appstore/seaweedfs/3.94/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/seaweedfs/3.94/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/seaweedfs/README.md b/appstore/seaweedfs/README.md new file mode 100644 index 000000000..1198a7f23 --- /dev/null +++ b/appstore/seaweedfs/README.md @@ -0,0 +1,16 @@ +# SeaweedFS + +分布式存储系统 + +![SeaweedFS](https://file.lifebus.top/imgs/seaweedfs_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) + +## 简介 + +SeaweedFS 是一个快速的分布式存储系统,适用于 Blob、对象、文件和数据湖,可存储数十亿个文件!Blob 存储具有 O(1) +磁盘寻道和云分层功能。Filer 支持 Cloud Drive、xDC 复制、Kubernetes、POSIX FUSE 挂载、S3 API、S3 网关、Hadoop、WebDAV、加密和纠删码。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/seaweedfs/data.yml b/appstore/seaweedfs/data.yml new file mode 100644 index 000000000..c9537f99a --- /dev/null +++ b/appstore/seaweedfs/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: seaweedfs + name: SeaweedFS + tags: + - WebSite + - Local + shortDescZh: 分布式存储系统 + shortDescEn: distributed storage system + type: website + crossVersionUpdate: true + limit: 0 + website: https://seaweedfs.com/ + github: https://github.com/seaweedfs/seaweedfs/ + document: https://github.com/seaweedfs/seaweedfs/ diff --git a/appstore/seaweedfs/logo.png b/appstore/seaweedfs/logo.png new file mode 100644 index 000000000..2512e2b9c Binary files /dev/null and b/appstore/seaweedfs/logo.png differ diff --git a/dockge/bark/docker-compose.yml b/dockge/bark/docker-compose.yml index 71ff9607f..b7addff97 100644 --- a/dockge/bark/docker-compose.yml +++ b/dockge/bark/docker-compose.yml @@ -12,7 +12,7 @@ services: - BARK_SERVER_URL_PREFIX=/ - BARK_SERVER_DATA_DIR=/data - BARK_SERVER_SERVERLESS=false - image: finab/bark-server:v2.2.3 + image: finab/bark-server:v2.2.5 labels: createdBy: Apps networks: diff --git a/dockge/garage-hq/.env b/dockge/garage-hq/.env new file mode 100644 index 000000000..a3be5c340 --- /dev/null +++ b/dockge/garage-hq/.env @@ -0,0 +1,15 @@ +# 数据持久化路径 [必填] +GARAGE_ROOT_PATH=/home/garage + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3902 + +# S3 API 接口 [必填] +PANEL_APP_PORT_S3_API=3900 + +# RPC 通信 [必填] +PANEL_APP_PORT_RPC=3901 + +# 管理 API [必填] +PANEL_APP_PORT_API=3903 + diff --git a/dockge/garage-hq/docker-compose.yml b/dockge/garage-hq/docker-compose.yml new file mode 100644 index 000000000..182bd3141 --- /dev/null +++ b/dockge/garage-hq/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true +services: + garage: + container_name: garage-hq + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: dxflrs/garage:v2.0.0 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_S3_API}:3900 + - ${PANEL_APP_PORT_RPC}:3901 + - ${PANEL_APP_PORT_HTTP}:3902 + - ${PANEL_APP_PORT_API}:3903 + restart: always + volumes: + - ${GARAGE_ROOT_PATH}/config/garage.toml:/etc/garage.toml + - ${GARAGE_ROOT_PATH}/meta:/var/lib/garage/meta + - ${GARAGE_ROOT_PATH}/data:/var/lib/garage/data diff --git a/dockge/garage-hq/envs/default.env b/dockge/garage-hq/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/garage-hq/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/garage-hq/envs/global.env b/dockge/garage-hq/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/garage-hq/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/jproxy/docker-compose.yml b/dockge/jproxy/docker-compose.yml index ad3523889..7d539efa0 100644 --- a/dockge/jproxy/docker-compose.yml +++ b/dockge/jproxy/docker-compose.yml @@ -11,7 +11,7 @@ services: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - image: luckypuppy514/jproxy:v3.4.6 + image: luckypuppy514/jproxy:v3.4.7 labels: createdBy: Apps networks: diff --git a/dockge/libretv/.env b/dockge/libretv/.env new file mode 100644 index 000000000..bf720e219 --- /dev/null +++ b/dockge/libretv/.env @@ -0,0 +1,6 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 密码 [必填] +PASSWORD=libretv + diff --git a/dockge/libretv/docker-compose.yml b/dockge/libretv/docker-compose.yml new file mode 100644 index 000000000..61f39a480 --- /dev/null +++ b/dockge/libretv/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + libretv: + container_name: libretv + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: bestzwei/libretv:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/dockge/libretv/envs/default.env b/dockge/libretv/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/libretv/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/libretv/envs/global.env b/dockge/libretv/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/libretv/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/libretv_202507110114/.env b/dockge/libretv_202507110114/.env new file mode 100644 index 000000000..bf720e219 --- /dev/null +++ b/dockge/libretv_202507110114/.env @@ -0,0 +1,6 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 密码 [必填] +PASSWORD=libretv + diff --git a/dockge/libretv_202507110114/docker-compose.yml b/dockge/libretv_202507110114/docker-compose.yml new file mode 100644 index 000000000..702e74b76 --- /dev/null +++ b/dockge/libretv_202507110114/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + libretv: + container_name: libretv + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: bestzwei/libretv:202507110114 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/dockge/libretv_202507110114/envs/default.env b/dockge/libretv_202507110114/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/libretv_202507110114/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/libretv_202507110114/envs/global.env b/dockge/libretv_202507110114/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/libretv_202507110114/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/readeck-pg/.env b/dockge/readeck-pg/.env new file mode 100644 index 000000000..90203b1ec --- /dev/null +++ b/dockge/readeck-pg/.env @@ -0,0 +1,60 @@ +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# 数据持久化路径 [必填] +READECK_ROOT_PATH=/home/readeck + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8000 + +# 数据库 主机地址 [必填] +POSTGRES_HOST=127.0.0.1 + +# 数据库 端口 [必填] +POSTGRES_PORT=5432 + +# 数据库 名称 [必填] +POSTGRES_NAME=readeck + +# 数据库 用户名 [必填] +POSTGRES_USER=readeck + +# 数据库 密码 [必填] +POSTGRES_PASSWORD= + +# 前缀路径 +READECK_SERVER_PREFIX=/ + +# HTTP 请求中允许的主机名列表 +READECK_ALLOWED_HOSTS= + +# 绑定域名 +READECK_SERVER_BASE_URL= + +# 分享有效期 [必填] +READECK_PUBLIC_SHARE_TTL=24 + +# 邮件服务器 +READECK_MAIL_HOST=smtp.qq.com + +# 邮件服务器 端口 +READECK_MAIL_PORT=465 + +# 邮件鉴权 用户名 +READECK_MAIL_USERNAME= + +# 邮件鉴权 密码 +READECK_MAIL_PASSWORD= + +# 邮件发送者 +READECK_MAIL_FROM= + +# 邮件发送者 (无回复) +READECK_MAIL_FROMNOREPLY= + +# 服务器证书验证 +READECK_MAIL_INSECURE=false + +# SMTP 主机 加密方式 +READECK_MAIL_ENCRYPTION= + diff --git a/dockge/readeck-pg/docker-compose.yml b/dockge/readeck-pg/docker-compose.yml new file mode 100644 index 000000000..61f4e5ad4 --- /dev/null +++ b/dockge/readeck-pg/docker-compose.yml @@ -0,0 +1,35 @@ +networks: + 1panel-network: + external: true +services: + readeck: + container_name: readeck-pg + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - READECK_LOG_LEVEL=info + - READECK_SERVER_HOST=0.0.0.0 + - READECK_SERVER_PORT=${PANEL_APP_PORT_HTTP} + - READECK_DATABASE_SOURCE=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_NAME} + healthcheck: + interval: 30s + retries: 3 + test: + - CMD + - /bin/readeck + - healthcheck + - -config + - config.toml + timeout: 2s + image: codeberg.org/readeck/readeck:0.19.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + restart: always + volumes: + - ${READECK_ROOT_PATH}/data:/data diff --git a/dockge/readeck-pg/envs/default.env b/dockge/readeck-pg/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/readeck-pg/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/readeck-pg/envs/global.env b/dockge/readeck-pg/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/readeck-pg/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/readeck/.env b/dockge/readeck/.env new file mode 100644 index 000000000..37c34c54a --- /dev/null +++ b/dockge/readeck/.env @@ -0,0 +1,42 @@ +# 数据持久化路径 [必填] +READECK_ROOT_PATH=/home/readeck + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8000 + +# 前缀路径 +READECK_SERVER_PREFIX=/ + +# HTTP 请求中允许的主机名列表 +READECK_ALLOWED_HOSTS= + +# 绑定域名 +READECK_SERVER_BASE_URL= + +# 分享有效期 [必填] +READECK_PUBLIC_SHARE_TTL=24 + +# 邮件服务器 +READECK_MAIL_HOST=smtp.qq.com + +# 邮件服务器 端口 +READECK_MAIL_PORT=465 + +# 邮件鉴权 用户名 +READECK_MAIL_USERNAME= + +# 邮件鉴权 密码 +READECK_MAIL_PASSWORD= + +# 邮件发送者 +READECK_MAIL_FROM= + +# 邮件发送者 (无回复) +READECK_MAIL_FROMNOREPLY= + +# 服务器证书验证 +READECK_MAIL_INSECURE=false + +# SMTP 主机 加密方式 +READECK_MAIL_ENCRYPTION= + diff --git a/dockge/readeck/docker-compose.yml b/dockge/readeck/docker-compose.yml new file mode 100644 index 000000000..7218dac68 --- /dev/null +++ b/dockge/readeck/docker-compose.yml @@ -0,0 +1,34 @@ +networks: + 1panel-network: + external: true +services: + readeck: + container_name: readeck + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - READECK_LOG_LEVEL=info + - READECK_SERVER_HOST=0.0.0.0 + - READECK_SERVER_PORT=${PANEL_APP_PORT_HTTP} + healthcheck: + interval: 30s + retries: 3 + test: + - CMD + - /bin/readeck + - healthcheck + - -config + - config.toml + timeout: 2s + image: codeberg.org/readeck/readeck:0.19.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + restart: always + volumes: + - ${READECK_ROOT_PATH}/data:/data diff --git a/dockge/readeck/envs/default.env b/dockge/readeck/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/readeck/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/readeck/envs/global.env b/dockge/readeck/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/readeck/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/rsshub/docker-compose.yml b/dockge/rsshub/docker-compose.yml index 46d152d98..fe7deb308 100644 --- a/dockge/rsshub/docker-compose.yml +++ b/dockge/rsshub/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-07-17 + image: diygod/rsshub:2025-07-18 labels: createdBy: Apps networks: diff --git a/dockge/seaweedfs/.env b/dockge/seaweedfs/.env new file mode 100644 index 000000000..c999c7059 --- /dev/null +++ b/dockge/seaweedfs/.env @@ -0,0 +1,51 @@ +# 数据持久化路径 [必填] +SEAWEEDFS_ROOT_PATH=/home/seaweedfs + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8333 + +# S3 监控端口 [必填] +PANEL_APP_PORT_S3_METRICS=9327 + +# 集群服务端口 [必填] +PANEL_APP_PORT_MASTER_SERVER=9333 + +# 集群通讯端口 [必填] +PANEL_APP_PORT_MASTER_API=19333 + +# 集群监控端口 [必填] +PANEL_APP_PORT_MASTER_METRICS=9324 + +# 存储服务端口 [必填] +PANEL_APP_PORT_VOLUME_SERVER=8080 + +# 存储通讯端口 [必填] +PANEL_APP_PORT_VOLUME_API=18080 + +# 存储监控端口 [必填] +PANEL_APP_PORT_VOLUME_METRICS=9325 + +# 索引服务端口 [必填] +PANEL_APP_PORT_FILER_SERVER=8888 + +# 索引通讯端口 [必填] +PANEL_APP_PORT_FILER_API=18888 + +# 索引监控端口 [必填] +PANEL_APP_PORT_FILER_METRICS=9326 + +# WebDAV 端口 [必填] +PANEL_APP_PORT_WEBDAV=7333 + +# Prometheus 端口 [必填] +PANEL_APP_PORT_METRICS=9090 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/seaweedfs/config/prometheus.yml b/dockge/seaweedfs/config/prometheus.yml new file mode 100644 index 000000000..2f0ead441 --- /dev/null +++ b/dockge/seaweedfs/config/prometheus.yml @@ -0,0 +1,14 @@ +global: + scrape_interval: 30s + scrape_timeout: 10s + +scrape_configs: + - job_name: services + metrics_path: /metrics + static_configs: + - targets: + - 'prometheus:9090' + - 'master:9324' + - 'volume:9325' + - 'filer:9326' + - 's3:9327' \ No newline at end of file diff --git a/dockge/seaweedfs/docker-compose.yml b/dockge/seaweedfs/docker-compose.yml new file mode 100644 index 000000000..157af1a53 --- /dev/null +++ b/dockge/seaweedfs/docker-compose.yml @@ -0,0 +1,138 @@ +networks: + 1panel-network: + external: true + seaweedfs-network: + external: true +services: + seaweedfs-filer: + command: filer -master="master:9333" -ip.bind=0.0.0.0 -metricsPort=9326 + container_name: seaweedfs-filer + depends_on: + - seaweedfs-master + - seaweedfs-volume + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_FILER_SERVER}:8888 + - ${PANEL_APP_PORT_FILER_API}:18888 + - ${PANEL_APP_PORT_FILER_METRICS}:9326 + restart: always + stdin_open: true + tty: true + volumes: + - ${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} + seaweedfs-master: + command: master -ip=master -ip.bind=0.0.0.0 -metricsPort=9324 + container_name: seaweedfs-master + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_MASTER_SERVER}:9333 + - ${PANEL_APP_PORT_MASTER_API}:19333 + - ${PANEL_APP_PORT_MASTER_METRICS}:9324 + restart: always + volumes: + - ${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} + seaweedfs-prometheus: + command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml + container_name: seaweedfs-prometheus + depends_on: + - seaweedfs-s3 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: prom/prometheus:v2.21.0 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_METRICS}:9090 + restart: always + volumes: + - ${SEAWEEDFS_ROOT_PATH}/prometheus:/etc/prometheus + seaweedfs-s3: + command: s3 -filer="filer:8888" -ip.bind=0.0.0.0 -metricsPort=9327 + container_name: seaweedfs + depends_on: + - seaweedfs-master + - seaweedfs-volume + - seaweedfs-filer + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + labels: + createdBy: Apps + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_HTTP}:8333 + - ${PANEL_APP_PORT_S3_METRICS}:9327 + restart: always + volumes: + - ${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} + seaweedfs-volume: + command: volume -mserver="master:9333" -ip.bind=0.0.0.0 -port=8080 -metricsPort=9325 + container_name: seaweedfs-volume + depends_on: + - seaweedfs-master + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_VOLUME_SERVER}:8080 + - ${PANEL_APP_PORT_VOLUME_API}:18080 + - ${PANEL_APP_PORT_VOLUME_METRICS}:9325 + restart: always + volumes: + - ${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} + seaweedfs-webdav: + command: webdav -filer="filer:8888" + container_name: seaweedfs-webdav + depends_on: + - seaweedfs-master + - seaweedfs-volume + - seaweedfs-filer + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: chrislusf/seaweedfs:3.94 + networks: + - seaweedfs-network + ports: + - ${PANEL_APP_PORT_WEBDAV}:7333 + restart: always + volumes: + - ${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} diff --git a/dockge/seaweedfs/envs/default.env b/dockge/seaweedfs/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/seaweedfs/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/seaweedfs/envs/global.env b/dockge/seaweedfs/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/seaweedfs/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai