From 32212e9e9b195b110e7e1f65833c0638dd5a43c8 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Thu, 9 Jan 2025 13:15:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=20NodeBB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- apps/nodebb/3.12.2/data.yml | 91 ++++++++++++++++++++++++ apps/nodebb/3.12.2/docker-compose.yml | 26 +++++++ apps/nodebb/3.12.2/envs/default.env | 2 + apps/nodebb/3.12.2/envs/global.env | 2 + apps/nodebb/3.12.2/scripts/init.sh | 17 +++++ apps/nodebb/3.12.2/scripts/uninstall.sh | 10 +++ apps/nodebb/3.12.2/scripts/upgrade.sh | 17 +++++ apps/nodebb/README.md | 16 +++++ apps/nodebb/data.yml | 14 ++++ apps/nodebb/logo.png | Bin 0 -> 16391 bytes apps/weblate/data.yml | 2 +- 11 files changed, 196 insertions(+), 1 deletion(-) create mode 100644 apps/nodebb/3.12.2/data.yml create mode 100644 apps/nodebb/3.12.2/docker-compose.yml create mode 100644 apps/nodebb/3.12.2/envs/default.env create mode 100644 apps/nodebb/3.12.2/envs/global.env create mode 100644 apps/nodebb/3.12.2/scripts/init.sh create mode 100644 apps/nodebb/3.12.2/scripts/uninstall.sh create mode 100644 apps/nodebb/3.12.2/scripts/upgrade.sh create mode 100644 apps/nodebb/README.md create mode 100644 apps/nodebb/data.yml create mode 100644 apps/nodebb/logo.png diff --git a/apps/nodebb/3.12.2/data.yml b/apps/nodebb/3.12.2/data.yml new file mode 100644 index 000000000..a99e74545 --- /dev/null +++ b/apps/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/apps/nodebb/3.12.2/docker-compose.yml b/apps/nodebb/3.12.2/docker-compose.yml new file mode 100644 index 000000000..74d9e6b8b --- /dev/null +++ b/apps/nodebb/3.12.2/docker-compose.yml @@ -0,0 +1,26 @@ +networks: + 1panel-network: + external: true + +services: + nodebb: + image: ghcr.io/nodebb/nodebb:3.12.2 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:4567 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${NODEBB_ROOT_PATH}/build:/usr/src/app/build + - ${NODEBB_ROOT_PATH}/uploads:/usr/src/app/public/uploads + - ${NODEBB_ROOT_PATH}/config:/opt/config + environment: + - TZ=Asia/Shanghai + - NODEBB_PORT=4567 + - NODEBB_URL=http://127.0.0.1:4567 diff --git a/apps/nodebb/3.12.2/envs/default.env b/apps/nodebb/3.12.2/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/nodebb/3.12.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/nodebb/3.12.2/envs/global.env b/apps/nodebb/3.12.2/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/nodebb/3.12.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/nodebb/3.12.2/scripts/init.sh b/apps/nodebb/3.12.2/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/nodebb/3.12.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/apps/nodebb/3.12.2/scripts/uninstall.sh b/apps/nodebb/3.12.2/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/nodebb/3.12.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/apps/nodebb/3.12.2/scripts/upgrade.sh b/apps/nodebb/3.12.2/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/nodebb/3.12.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/apps/nodebb/README.md b/apps/nodebb/README.md new file mode 100644 index 000000000..3004ecb25 --- /dev/null +++ b/apps/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/apps/nodebb/data.yml b/apps/nodebb/data.yml new file mode 100644 index 000000000..3e9bbeb58 --- /dev/null +++ b/apps/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/apps/nodebb/logo.png b/apps/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/apps/weblate/data.yml b/apps/weblate/data.yml index aa6caa89c..19097b48d 100644 --- a/apps/weblate/data.yml +++ b/apps/weblate/data.yml @@ -10,5 +10,5 @@ additionalProperties: crossVersionUpdate: true limit: 0 website: https://weblate.org/ - github: https://weblate.org/ + github: https://github.com/WeblateOrg/weblate/ document: https://docs.weblate.org/