From 197ae2d9cfd8c284ef592cdebc46820983246967 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 9 Jan 2025 06:26:28 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/gitea/{1.22.6 => 1.23.0}/.env | 0 .../{1.22.6 => 1.23.0}/config/app.example.ini | 0 appstore/gitea/{1.22.6 => 1.23.0}/data.yml | 0 .../{1.22.6 => 1.23.0}/docker-compose.yml | 2 +- .../gitea/{1.22.6 => 1.23.0}/envs/default.env | 0 .../gitea/{1.22.6 => 1.23.0}/envs/gitea.env | 0 .../gitea/{1.22.6 => 1.23.0}/envs/global.env | 0 .../gitea/{1.22.6 => 1.23.0}/scripts/init.sh | 0 .../{1.22.6 => 1.23.0}/scripts/uninstall.sh | 0 .../{1.22.6 => 1.23.0}/scripts/upgrade.sh | 0 appstore/maxkb/{1.9.0 => 1.9.1}/.env | 0 appstore/maxkb/{1.9.0 => 1.9.1}/data.yml | 0 .../maxkb/{1.9.0 => 1.9.1}/docker-compose.yml | 2 +- .../maxkb/{1.9.0 => 1.9.1}/envs/default.env | 0 .../maxkb/{1.9.0 => 1.9.1}/envs/global.env | 0 .../maxkb/{1.9.0 => 1.9.1}/scripts/init.sh | 0 .../{1.9.0 => 1.9.1}/scripts/uninstall.sh | 0 .../maxkb/{1.9.0 => 1.9.1}/scripts/upgrade.sh | 0 appstore/nodebb/3.12.2/.env | 33 +++ appstore/nodebb/3.12.2/data.yml | 91 +++++++ appstore/nodebb/3.12.2/docker-compose.yml | 25 ++ .../3.12.2}/envs/default.env | 0 .../3.12.2}/envs/global.env | 0 .../3.12.2}/scripts/init.sh | 0 .../3.12.2}/scripts/uninstall.sh | 0 .../3.12.2}/scripts/upgrade.sh | 0 appstore/nodebb/README.md | 16 ++ appstore/nodebb/data.yml | 14 ++ appstore/nodebb/logo.png | Bin 0 -> 16391 bytes .../rsshub/{2025-01-08 => 2025-01-09}/.env | 0 .../{2025-01-08 => 2025-01-09}/data.yml | 0 .../docker-compose.yml | 2 +- appstore/rsshub/2025-01-09/envs/default.env | 2 + appstore/rsshub/2025-01-09/envs/global.env | 2 + appstore/rsshub/2025-01-09/scripts/init.sh | 17 ++ .../rsshub/2025-01-09/scripts/uninstall.sh | 10 + appstore/rsshub/2025-01-09/scripts/upgrade.sh | 17 ++ appstore/weblate/5.9.2.1/.env | 87 +++++++ appstore/weblate/5.9.2.1/data.yml | 230 ++++++++++++++++++ appstore/weblate/5.9.2.1/docker-compose.yml | 33 +++ appstore/weblate/5.9.2.1/envs/default.env | 2 + appstore/weblate/5.9.2.1/envs/global.env | 2 + appstore/weblate/5.9.2.1/scripts/init.sh | 17 ++ appstore/weblate/5.9.2.1/scripts/uninstall.sh | 10 + appstore/weblate/5.9.2.1/scripts/upgrade.sh | 17 ++ appstore/weblate/README.md | 60 +++++ appstore/weblate/data.yml | 14 ++ appstore/weblate/logo.png | Bin 0 -> 25678 bytes dockge/gitea/docker-compose.yml | 2 +- dockge/maxkb/docker-compose.yml | 2 +- dockge/nodebb/.env | 33 +++ dockge/nodebb/docker-compose.yml | 25 ++ dockge/nodebb/envs/default.env | 2 + dockge/nodebb/envs/global.env | 2 + dockge/rsshub/docker-compose.yml | 2 +- dockge/weblate/.env | 87 +++++++ dockge/weblate/docker-compose.yml | 33 +++ dockge/weblate/envs/default.env | 2 + dockge/weblate/envs/global.env | 2 + 59 files changed, 891 insertions(+), 6 deletions(-) rename appstore/gitea/{1.22.6 => 1.23.0}/.env (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/config/app.example.ini (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/data.yml (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/docker-compose.yml (97%) rename appstore/gitea/{1.22.6 => 1.23.0}/envs/default.env (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/envs/gitea.env (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/envs/global.env (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/scripts/init.sh (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/scripts/uninstall.sh (100%) rename appstore/gitea/{1.22.6 => 1.23.0}/scripts/upgrade.sh (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/.env (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/data.yml (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/docker-compose.yml (94%) rename appstore/maxkb/{1.9.0 => 1.9.1}/envs/default.env (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/envs/global.env (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/scripts/init.sh (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/scripts/uninstall.sh (100%) rename appstore/maxkb/{1.9.0 => 1.9.1}/scripts/upgrade.sh (100%) create mode 100644 appstore/nodebb/3.12.2/.env create mode 100644 appstore/nodebb/3.12.2/data.yml create mode 100644 appstore/nodebb/3.12.2/docker-compose.yml rename appstore/{rsshub/2025-01-08 => nodebb/3.12.2}/envs/default.env (100%) rename appstore/{rsshub/2025-01-08 => nodebb/3.12.2}/envs/global.env (100%) rename appstore/{rsshub/2025-01-08 => nodebb/3.12.2}/scripts/init.sh (100%) rename appstore/{rsshub/2025-01-08 => nodebb/3.12.2}/scripts/uninstall.sh (100%) rename appstore/{rsshub/2025-01-08 => nodebb/3.12.2}/scripts/upgrade.sh (100%) create mode 100644 appstore/nodebb/README.md create mode 100644 appstore/nodebb/data.yml create mode 100644 appstore/nodebb/logo.png rename appstore/rsshub/{2025-01-08 => 2025-01-09}/.env (100%) rename appstore/rsshub/{2025-01-08 => 2025-01-09}/data.yml (100%) rename appstore/rsshub/{2025-01-08 => 2025-01-09}/docker-compose.yml (97%) create mode 100644 appstore/rsshub/2025-01-09/envs/default.env create mode 100644 appstore/rsshub/2025-01-09/envs/global.env create mode 100644 appstore/rsshub/2025-01-09/scripts/init.sh create mode 100644 appstore/rsshub/2025-01-09/scripts/uninstall.sh create mode 100644 appstore/rsshub/2025-01-09/scripts/upgrade.sh create mode 100644 appstore/weblate/5.9.2.1/.env create mode 100644 appstore/weblate/5.9.2.1/data.yml create mode 100644 appstore/weblate/5.9.2.1/docker-compose.yml create mode 100644 appstore/weblate/5.9.2.1/envs/default.env create mode 100644 appstore/weblate/5.9.2.1/envs/global.env create mode 100644 appstore/weblate/5.9.2.1/scripts/init.sh create mode 100644 appstore/weblate/5.9.2.1/scripts/uninstall.sh create mode 100644 appstore/weblate/5.9.2.1/scripts/upgrade.sh create mode 100644 appstore/weblate/README.md create mode 100644 appstore/weblate/data.yml create mode 100644 appstore/weblate/logo.png create mode 100644 dockge/nodebb/.env create mode 100644 dockge/nodebb/docker-compose.yml create mode 100644 dockge/nodebb/envs/default.env create mode 100644 dockge/nodebb/envs/global.env create mode 100644 dockge/weblate/.env create mode 100644 dockge/weblate/docker-compose.yml create mode 100644 dockge/weblate/envs/default.env create mode 100644 dockge/weblate/envs/global.env diff --git a/appstore/gitea/1.22.6/.env b/appstore/gitea/1.23.0/.env similarity index 100% rename from appstore/gitea/1.22.6/.env rename to appstore/gitea/1.23.0/.env diff --git a/appstore/gitea/1.22.6/config/app.example.ini b/appstore/gitea/1.23.0/config/app.example.ini similarity index 100% rename from appstore/gitea/1.22.6/config/app.example.ini rename to appstore/gitea/1.23.0/config/app.example.ini diff --git a/appstore/gitea/1.22.6/data.yml b/appstore/gitea/1.23.0/data.yml similarity index 100% rename from appstore/gitea/1.22.6/data.yml rename to appstore/gitea/1.23.0/data.yml diff --git a/appstore/gitea/1.22.6/docker-compose.yml b/appstore/gitea/1.23.0/docker-compose.yml similarity index 97% rename from appstore/gitea/1.22.6/docker-compose.yml rename to appstore/gitea/1.23.0/docker-compose.yml index 0fc9377c..58303a0d 100644 --- a/appstore/gitea/1.22.6/docker-compose.yml +++ b/appstore/gitea/1.23.0/docker-compose.yml @@ -28,7 +28,7 @@ services: - GITEA__webhook__PROXY_HOSTS=${PROXY_HOSTS} - GITEA__git.config__http.proxy=${PROXY_URL} - GITEA__git.config__https.proxy=${PROXY_URL} - image: gitea/gitea:1.22.6 + image: gitea/gitea:1.23.0 labels: createdBy: Apps networks: diff --git a/appstore/gitea/1.22.6/envs/default.env b/appstore/gitea/1.23.0/envs/default.env similarity index 100% rename from appstore/gitea/1.22.6/envs/default.env rename to appstore/gitea/1.23.0/envs/default.env diff --git a/appstore/gitea/1.22.6/envs/gitea.env b/appstore/gitea/1.23.0/envs/gitea.env similarity index 100% rename from appstore/gitea/1.22.6/envs/gitea.env rename to appstore/gitea/1.23.0/envs/gitea.env diff --git a/appstore/gitea/1.22.6/envs/global.env b/appstore/gitea/1.23.0/envs/global.env similarity index 100% rename from appstore/gitea/1.22.6/envs/global.env rename to appstore/gitea/1.23.0/envs/global.env diff --git a/appstore/gitea/1.22.6/scripts/init.sh b/appstore/gitea/1.23.0/scripts/init.sh similarity index 100% rename from appstore/gitea/1.22.6/scripts/init.sh rename to appstore/gitea/1.23.0/scripts/init.sh diff --git a/appstore/gitea/1.22.6/scripts/uninstall.sh b/appstore/gitea/1.23.0/scripts/uninstall.sh similarity index 100% rename from appstore/gitea/1.22.6/scripts/uninstall.sh rename to appstore/gitea/1.23.0/scripts/uninstall.sh diff --git a/appstore/gitea/1.22.6/scripts/upgrade.sh b/appstore/gitea/1.23.0/scripts/upgrade.sh similarity index 100% rename from appstore/gitea/1.22.6/scripts/upgrade.sh rename to appstore/gitea/1.23.0/scripts/upgrade.sh diff --git a/appstore/maxkb/1.9.0/.env b/appstore/maxkb/1.9.1/.env similarity index 100% rename from appstore/maxkb/1.9.0/.env rename to appstore/maxkb/1.9.1/.env diff --git a/appstore/maxkb/1.9.0/data.yml b/appstore/maxkb/1.9.1/data.yml similarity index 100% rename from appstore/maxkb/1.9.0/data.yml rename to appstore/maxkb/1.9.1/data.yml diff --git a/appstore/maxkb/1.9.0/docker-compose.yml b/appstore/maxkb/1.9.1/docker-compose.yml similarity index 94% rename from appstore/maxkb/1.9.0/docker-compose.yml rename to appstore/maxkb/1.9.1/docker-compose.yml index 22921073..83a33d1e 100644 --- a/appstore/maxkb/1.9.0/docker-compose.yml +++ b/appstore/maxkb/1.9.1/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: 1panel/maxkb:v1.9.0 + image: 1panel/maxkb:v1.9.1 labels: createdBy: Apps networks: diff --git a/appstore/maxkb/1.9.0/envs/default.env b/appstore/maxkb/1.9.1/envs/default.env similarity index 100% rename from appstore/maxkb/1.9.0/envs/default.env rename to appstore/maxkb/1.9.1/envs/default.env diff --git a/appstore/maxkb/1.9.0/envs/global.env b/appstore/maxkb/1.9.1/envs/global.env similarity index 100% rename from appstore/maxkb/1.9.0/envs/global.env rename to appstore/maxkb/1.9.1/envs/global.env diff --git a/appstore/maxkb/1.9.0/scripts/init.sh b/appstore/maxkb/1.9.1/scripts/init.sh similarity index 100% rename from appstore/maxkb/1.9.0/scripts/init.sh rename to appstore/maxkb/1.9.1/scripts/init.sh diff --git a/appstore/maxkb/1.9.0/scripts/uninstall.sh b/appstore/maxkb/1.9.1/scripts/uninstall.sh similarity index 100% rename from appstore/maxkb/1.9.0/scripts/uninstall.sh rename to appstore/maxkb/1.9.1/scripts/uninstall.sh diff --git a/appstore/maxkb/1.9.0/scripts/upgrade.sh b/appstore/maxkb/1.9.1/scripts/upgrade.sh similarity index 100% rename from appstore/maxkb/1.9.0/scripts/upgrade.sh rename to appstore/maxkb/1.9.1/scripts/upgrade.sh diff --git a/appstore/nodebb/3.12.2/.env b/appstore/nodebb/3.12.2/.env new file mode 100644 index 00000000..0f77ff34 --- /dev/null +++ b/appstore/nodebb/3.12.2/.env @@ -0,0 +1,33 @@ +# 数据持久化路径 [必填] +NODEBB_ROOT_PATH=/home/nodebb + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=4567 + +# 管理员邮箱 [必填] +NODEBB_ADMIN_EMAIL= + +# 管理员用户名 [必填] +NODEBB_ADMIN_USERNAME= + +# 管理员密码 [必填] +NODEBB_ADMIN_PASSWORD= + +# 数据库类型 [必填] +NODEBB_DB=postgres + +# 数据库 主机地址 [必填] +NODEBB_DB_HOST=127.0.0.1 + +# 数据库 端口 [必填] +NODEBB_DB_PORT=5432 + +# 数据库 名称 [必填] +NODEBB_DB_NAME=nodebb + +# 数据库 用户名 [必填] +NODEBB_DB_USER=nodebb + +# 数据库 密码 [必填] +NODEBB_DB_PASSWORD= + diff --git a/appstore/nodebb/3.12.2/data.yml b/appstore/nodebb/3.12.2/data.yml new file mode 100644 index 00000000..a99e7454 --- /dev/null +++ b/appstore/nodebb/3.12.2/data.yml @@ -0,0 +1,91 @@ +additionalProperties: + formFields: + - default: "/home/nodebb" + edit: true + envKey: NODEBB_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 4567 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: NODEBB_ADMIN_EMAIL + labelZh: 管理员邮箱 + labelEn: Admin email + required: true + type: text + - default: "" + edit: true + envKey: NODEBB_ADMIN_USERNAME + labelZh: 管理员用户名 + labelEn: Admin username + required: true + type: text + - default: "" + edit: true + envKey: NODEBB_ADMIN_PASSWORD + labelZh: 管理员密码 + labelEn: Admin password + required: true + type: text + - default: "postgres" + edit: true + envKey: NODEBB_DB + labelZh: 数据库类型 + labelEn: Database type + required: true + type: select + values: + - label: PostgreSQL + value: "postgres" + - label: Redis + value: "redis" + - label: MongoDB + value: "mongo" + - default: "127.0.0.1" + edit: true + envKey: NODEBB_DB_HOST + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: NODEBB_DB_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "nodebb" + edit: true + envKey: NODEBB_DB_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "nodebb" + edit: true + envKey: NODEBB_DB_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: NODEBB_DB_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password diff --git a/appstore/nodebb/3.12.2/docker-compose.yml b/appstore/nodebb/3.12.2/docker-compose.yml new file mode 100644 index 00000000..750460f3 --- /dev/null +++ b/appstore/nodebb/3.12.2/docker-compose.yml @@ -0,0 +1,25 @@ +networks: + 1panel-network: + external: true +services: + nodebb: + container_name: nodebb + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NODEBB_PORT=4567 + - NODEBB_URL=http://127.0.0.1:4567 + image: ghcr.io/nodebb/nodebb:3.12.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:4567 + restart: always + volumes: + - ${NODEBB_ROOT_PATH}/build:/usr/src/app/build + - ${NODEBB_ROOT_PATH}/uploads:/usr/src/app/public/uploads + - ${NODEBB_ROOT_PATH}/config:/opt/config diff --git a/appstore/rsshub/2025-01-08/envs/default.env b/appstore/nodebb/3.12.2/envs/default.env similarity index 100% rename from appstore/rsshub/2025-01-08/envs/default.env rename to appstore/nodebb/3.12.2/envs/default.env diff --git a/appstore/rsshub/2025-01-08/envs/global.env b/appstore/nodebb/3.12.2/envs/global.env similarity index 100% rename from appstore/rsshub/2025-01-08/envs/global.env rename to appstore/nodebb/3.12.2/envs/global.env diff --git a/appstore/rsshub/2025-01-08/scripts/init.sh b/appstore/nodebb/3.12.2/scripts/init.sh similarity index 100% rename from appstore/rsshub/2025-01-08/scripts/init.sh rename to appstore/nodebb/3.12.2/scripts/init.sh diff --git a/appstore/rsshub/2025-01-08/scripts/uninstall.sh b/appstore/nodebb/3.12.2/scripts/uninstall.sh similarity index 100% rename from appstore/rsshub/2025-01-08/scripts/uninstall.sh rename to appstore/nodebb/3.12.2/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-01-08/scripts/upgrade.sh b/appstore/nodebb/3.12.2/scripts/upgrade.sh similarity index 100% rename from appstore/rsshub/2025-01-08/scripts/upgrade.sh rename to appstore/nodebb/3.12.2/scripts/upgrade.sh diff --git a/appstore/nodebb/README.md b/appstore/nodebb/README.md new file mode 100644 index 00000000..3004ecb2 --- /dev/null +++ b/appstore/nodebb/README.md @@ -0,0 +1,16 @@ +# NodeBB + +一个更适合现代网络的社会平台 + +![NodeBB](https://file.lifebus.top/imgs/nodebb_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) + +## 简介 + +《NodeBB》是一个下一代讨论平台,它利用 WebSockets 实现即时交互和实时通知。 +NodeBB 论坛自带许多现代功能,如社交网络集成和流式讨论,以及完整的 REST API 和插件框架,以实现第三方完全扩展。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/nodebb/data.yml b/appstore/nodebb/data.yml new file mode 100644 index 00000000..3e9bbeb5 --- /dev/null +++ b/appstore/nodebb/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: nodebb + name: NodeBB + tags: + - WebSite + - Local + shortDescZh: 一个更适合现代网络的社会平台 + shortDescEn: A modern forum platform better suited for the modern web + type: website + crossVersionUpdate: true + limit: 0 + website: https://nodebb.org/ + github: https://github.com/NodeBB/NodeBB/ + document: https://docs.nodebb.org/ diff --git a/appstore/nodebb/logo.png b/appstore/nodebb/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6858ef5833f4ee5cc6ba0032b94021bf2013c271 GIT binary patch literal 16391 zcmV+iK={9jP)lCkKdRQNfI!5mDqo4|6&r zA}ZoZQ18qly9)|NIQ2wDNlOw*f`px!?yma${^(hlo#|Lz9cI3-=i|ZM+FkXn@AS_0 z_g&xm26J}-0D!PW!>#}T02n+100001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm z0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ z01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001 zA^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o z0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000G zAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ z000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI2 z0U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo z00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY z5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY z00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm z0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ z01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001 zA^-pY5Fi2o0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o z0003Z0000GAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000G zAOZjY00ANZ000mm0ssI20U`hZ01zMo00001A^-pY5Fi2o0003Z0000GAOZjY00ANZ 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 literal 0 KcmV+b0RR6000031 diff --git a/appstore/rsshub/2025-01-08/.env b/appstore/rsshub/2025-01-09/.env similarity index 100% rename from appstore/rsshub/2025-01-08/.env rename to appstore/rsshub/2025-01-09/.env diff --git a/appstore/rsshub/2025-01-08/data.yml b/appstore/rsshub/2025-01-09/data.yml similarity index 100% rename from appstore/rsshub/2025-01-08/data.yml rename to appstore/rsshub/2025-01-09/data.yml diff --git a/appstore/rsshub/2025-01-08/docker-compose.yml b/appstore/rsshub/2025-01-09/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-01-08/docker-compose.yml rename to appstore/rsshub/2025-01-09/docker-compose.yml index c11f1a1e..36fd3792 100644 --- a/appstore/rsshub/2025-01-08/docker-compose.yml +++ b/appstore/rsshub/2025-01-09/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-01-08 + image: diygod/rsshub:2025-01-09 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-01-09/envs/default.env b/appstore/rsshub/2025-01-09/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/appstore/rsshub/2025-01-09/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/rsshub/2025-01-09/envs/global.env b/appstore/rsshub/2025-01-09/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/appstore/rsshub/2025-01-09/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rsshub/2025-01-09/scripts/init.sh b/appstore/rsshub/2025-01-09/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/rsshub/2025-01-09/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-01-09/scripts/uninstall.sh b/appstore/rsshub/2025-01-09/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/appstore/rsshub/2025-01-09/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-01-09/scripts/upgrade.sh b/appstore/rsshub/2025-01-09/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/rsshub/2025-01-09/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/weblate/5.9.2.1/.env b/appstore/weblate/5.9.2.1/.env new file mode 100644 index 00000000..c0d72e58 --- /dev/null +++ b/appstore/weblate/5.9.2.1/.env @@ -0,0 +1,87 @@ +# Postgres 服务 (前置检查) [必填] +PANEL_POSTGRES_TYPE=postgresql + +# Redis 服务 (前置检查) [必填] +PANEL_REDIS_TYPE=redis + +# 数据持久化路径 [必填] +WEBLATE_ROOT_PATH=/home/weblate + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 管理员名称 [必填] +WEBLATE_ADMIN_NAME=Weblate admin + +# 管理员邮箱 [必填] +WEBLATE_ADMIN_EMAIL=weblate@example.com + +# 管理员密码 [必填] +WEBLATE_ADMIN_PASSWORD= + +# 站点域名 [必填] +WEBLATE_SITE_DOMAIN= + +# 站点标题 [必填] +WEBLATE_SITE_TITLE=Weblate 翻译平台 + +# 是否开放注册 [必填] +WEBLATE_REGISTRATION_OPEN=1 + +# 数据库 主机地址 [必填] +POSTGRES_HOST=127.0.0.1 + +# 数据库 端口 [必填] +POSTGRES_PORT=5432 + +# 数据库 名称 [必填] +POSTGRES_DB=weblate + +# 数据库 用户名 [必填] +POSTGRES_USER=weblate + +# 数据库 密码 [必填] +POSTGRES_PASSWORD= + +# Redis 主机 [必填] +REDIS_HOST=127.0.0.1 + +# Redis 端口 [必填] +REDIS_PORT=6379 + +# Redis 索引 (0-20) [必填] +REDIS_DB=0 + +# Redis 密码 +REDIS_PASSWORD= + +# 错误信息通知邮箱 [必填] +WEBLATE_SERVER_EMAIL= + +# 默认发件邮箱 [必填] +WEBLATE_DEFAULT_FROM_EMAIL= + +# 电子邮件服务器主机名 [必填] +WEBLATE_EMAIL_HOST=smtp.gmail.com + +# 电子邮件服务器端口 (465/SSL 587/TLS) [必填] +WEBLATE_EMAIL_PORT=465 + +# 电子邮件服务器用户名 [必填] +WEBLATE_EMAIL_HOST_USER= + +# 电子邮件服务器密码 [必填] +WEBLATE_EMAIL_HOST_PASSWORD= + +# 帮助文档链接 +GET_HELP_URL= + +# 服务状态链接 +STATUS_URL= + +# 法律声明链接 +LEGAL_URL= + +# 隐私政策链接 +PRIVACY_URL= + diff --git a/appstore/weblate/5.9.2.1/data.yml b/appstore/weblate/5.9.2.1/data.yml new file mode 100644 index 00000000..b4ecbde2 --- /dev/null +++ b/appstore/weblate/5.9.2.1/data.yml @@ -0,0 +1,230 @@ +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 + - child: + default: "" + envKey: PANEL_REDIS_SERVICE + required: true + type: service + default: redis + envKey: PANEL_REDIS_TYPE + labelZh: Redis 服务 (前置检查) + labelEn: Redis Service (Pre-check) + required: true + type: apps + values: + - label: Redis + value: redis + - default: "/home/weblate" + edit: true + envKey: WEBLATE_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "Weblate admin" + edit: true + envKey: WEBLATE_ADMIN_NAME + labelZh: 管理员名称 + labelEn: Admin name + required: true + type: text + - default: "weblate@example.com" + edit: true + envKey: WEBLATE_ADMIN_EMAIL + labelZh: 管理员邮箱 + labelEn: Admin email + required: true + type: text + - default: "" + edit: true + envKey: WEBLATE_ADMIN_PASSWORD + labelZh: 管理员密码 + labelEn: Admin password + required: true + type: password + - default: "" + edit: true + envKey: WEBLATE_SITE_DOMAIN + labelZh: 站点域名 + labelEn: Site domain + required: true + type: text + - default: "Weblate 翻译平台" + edit: true + envKey: WEBLATE_SITE_TITLE + labelZh: 站点标题 + labelEn: Site title + required: true + type: text + - default: "1" + edit: true + envKey: WEBLATE_REGISTRATION_OPEN + labelZh: 是否开放注册 + labelEn: Registration open + required: true + type: select + values: + - label: 允许注册 + value: "1" + - label: 禁止注册 + value: "0" + - 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: "weblate" + edit: true + envKey: POSTGRES_DB + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "weblate" + 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: "127.0.0.1" + edit: true + envKey: REDIS_HOST + labelZh: Redis 主机 + labelEn: Redis Host + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelZh: Redis 端口 + labelEn: Redis Port + required: true + rule: paramPort + type: number + - default: 0 + edit: true + envKey: REDIS_DB + labelZh: Redis 索引 (0-20) + labelEn: Redis Index (0-20) + required: true + type: number + - default: "" + edit: true + envKey: REDIS_PASSWORD + labelZh: Redis 密码 + labelEn: Redis Password + required: false + type: password + - default: "" + edit: true + envKey: WEBLATE_SERVER_EMAIL + labelZh: 错误信息通知邮箱 + labelEn: Error notification email + required: true + type: text + - default: "" + edit: true + envKey: WEBLATE_DEFAULT_FROM_EMAIL + labelZh: 默认发件邮箱 + labelEn: Default sender email + required: true + type: text + - default: "smtp.gmail.com" + edit: true + envKey: WEBLATE_EMAIL_HOST + labelZh: 电子邮件服务器主机名 + labelEn: Email server hostname + required: true + type: text + - default: 465 + edit: true + envKey: WEBLATE_EMAIL_PORT + labelZh: 电子邮件服务器端口 (465/SSL 587/TLS) + labelEn: Email server port (465/SSL 587/TLS) + required: true + type: number + - default: "" + edit: true + envKey: WEBLATE_EMAIL_HOST_USER + labelZh: 电子邮件服务器用户名 + labelEn: Email server username + required: true + type: text + - default: "" + edit: true + envKey: WEBLATE_EMAIL_HOST_PASSWORD + labelZh: 电子邮件服务器密码 + labelEn: Email server password + required: true + type: password + - default: "" + edit: true + envKey: GET_HELP_URL + labelZh: 帮助文档链接 + labelEn: Help document link + required: false + type: text + - default: "" + edit: true + envKey: STATUS_URL + labelZh: 服务状态链接 + labelEn: Service status link + required: false + type: text + - default: "" + edit: true + envKey: LEGAL_URL + labelZh: 法律声明链接 + labelEn: Legal statement link + required: false + type: text + - default: "" + edit: true + envKey: PRIVACY_URL + labelZh: 隐私政策链接 + labelEn: Privacy policy link + required: false + type: text diff --git a/appstore/weblate/5.9.2.1/docker-compose.yml b/appstore/weblate/5.9.2.1/docker-compose.yml new file mode 100644 index 00000000..c2d19e4b --- /dev/null +++ b/appstore/weblate/5.9.2.1/docker-compose.yml @@ -0,0 +1,33 @@ +networks: + 1panel-network: + external: true +services: + weblate: + container_name: weblate + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - WEBLATE_TIME_ZONE=Asia/Shanghai + - WEBLATE_WORKERS=2 + - WEBLATE_DEBUG=0 + - WEBLATE_LOGLEVEL=INFO + - WEBLATE_ALLOWED_HOSTS=* + - POSTGRES_DATABASE=weblate + - CLIENT_MAX_BODY_SIZE=200M + image: weblate/weblate:5.9.2.1 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + read_only: true + restart: always + tmpfs: + - /run + - /tmp + volumes: + - ${WEBLATE_ROOT_PATH}/data:/app/data + - ${WEBLATE_ROOT_PATH}/cache:/app/cache diff --git a/appstore/weblate/5.9.2.1/envs/default.env b/appstore/weblate/5.9.2.1/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/appstore/weblate/5.9.2.1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/weblate/5.9.2.1/envs/global.env b/appstore/weblate/5.9.2.1/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/appstore/weblate/5.9.2.1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/weblate/5.9.2.1/scripts/init.sh b/appstore/weblate/5.9.2.1/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/weblate/5.9.2.1/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/weblate/5.9.2.1/scripts/uninstall.sh b/appstore/weblate/5.9.2.1/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/appstore/weblate/5.9.2.1/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/weblate/5.9.2.1/scripts/upgrade.sh b/appstore/weblate/5.9.2.1/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/weblate/5.9.2.1/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/weblate/README.md b/appstore/weblate/README.md new file mode 100644 index 00000000..354e5565 --- /dev/null +++ b/appstore/weblate/README.md @@ -0,0 +1,60 @@ +# Weblate + +高度集成了版本控制功能的web-based翻译工具 + +![Weblate](https://file.lifebus.top/imgs/weblate_cover.png) + +作为一款功能强大的计算机辅助翻译工具,Weblate 节省了开发者和译者的时间。让您的用户更快乐! + +![](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) + +## 硬件说明 + +> 推荐的最小内存为 4 GB + ++ 3 GB 的内存 ++ 2 个 CPU 核心 ++ 1 GB 的存储空间 + +## 特性 + ++ 持续本地化 + +自动本地化工作流能紧密贴合您的项目开发。 + ++ 质量检查 + +可定制的质量检查有助于提高翻译质量。 + ++ 署名 + +所有译者的贡献信息都会妥善记录在版本控制系统中。 + ++ 访问控制 + +调整访问权限以适应您的环境。 + ++ 通知 + +译者能收到有新条目需要翻译或其他事件发生的通知。 + ++ 集成 API + +将 Weblate 与第三方服务集成。 + ++ 多种文件格式 + +使用任何常见的文件本地化格式,如 gettext、JSON、XLIFF 或资源字符串等。 + ++ 分支支持 + +通过自动将它们推到不同的分支来处理不同的翻译版本。 + ++ 翻译上下文 + +描述、附近字符串、图片、相关源代码和术语表条目 — 每条字符串均可拥有。 + + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/weblate/data.yml b/appstore/weblate/data.yml new file mode 100644 index 00000000..19097b48 --- /dev/null +++ b/appstore/weblate/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: weblate + name: Weblate + tags: + - WebSite + - Local + shortDescZh: 高度集成了版本控制功能的web-based翻译工具 + shortDescEn: A highly integrated web-based translation tool with version control functions + type: website + crossVersionUpdate: true + limit: 0 + website: https://weblate.org/ + github: https://github.com/WeblateOrg/weblate/ + document: https://docs.weblate.org/ diff --git a/appstore/weblate/logo.png b/appstore/weblate/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b11b4b507ea92250611ba8d566a314c864daca09 GIT binary patch literal 25678 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