From cf2ee00de9ef88cc3564c5f2d4d17a5d338cac5b Mon Sep 17 00:00:00 2001 From: 2319665062 <2319665062@qq.com> Date: Fri, 1 Mar 2024 01:19:54 +0000 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0NodeBB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mixspace/data.yml | 6 +++--- apps/nodebb/README.md | 19 +++++++++++++++++++ apps/nodebb/data.yml | 19 +++++++++++++++++++ apps/nodebb/latest/data.yml | 17 +++++++++++++++++ apps/nodebb/latest/docker-compose.yml | 22 ++++++++++++++++++++++ apps/nodebb/logo.png | Bin 0 -> 13884 bytes 6 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 apps/nodebb/README.md create mode 100644 apps/nodebb/data.yml create mode 100644 apps/nodebb/latest/data.yml create mode 100644 apps/nodebb/latest/docker-compose.yml create mode 100644 apps/nodebb/logo.png diff --git a/apps/mixspace/data.yml b/apps/mixspace/data.yml index 9518fb4f..13acdb47 100644 --- a/apps/mixspace/data.yml +++ b/apps/mixspace/data.yml @@ -1,15 +1,15 @@ name: MixSpace tags: - 建站 -title: 开源自部署的个人前后端分离博客系统 +title: 开源自部署个人前后端分离博客系统 type: 建站 -description: 开源自部署的个人前后端分离博客系统 +description: 开源自部署个人前后端分离博客系统 additionalProperties: key: mixspace name: MixSpace tags: - WebSite - shortDescZh: 开源自部署的个人前后端分离博客系统 + shortDescZh: 开源自部署个人前后端分离博客系统 shortDescEn: Open source self-deployed personal front-end and back-end separation blogging system type: website crossVersionUpdate: true diff --git a/apps/nodebb/README.md b/apps/nodebb/README.md new file mode 100644 index 00000000..452d3e61 --- /dev/null +++ b/apps/nodebb/README.md @@ -0,0 +1,19 @@ +# 介绍 + +NodeBB 是一款由Node.js开发的、开源的、现代化的论坛程序 + + +## 所使用docker镜像相关: + +> 项目链接 +>> - https://hub.docker.com/r/elestio/nodebb +>> - https://github.com/elestio-examples/nodebb + +## 数据库连接问题 + +需要新建数据库再进行安装 + +本机`PostgreSQL`数据库连接信息,具体查看面板数据库页面来获取,例如 +``` +PostgreSQL:5432 +``` diff --git a/apps/nodebb/data.yml b/apps/nodebb/data.yml new file mode 100644 index 00000000..fc500132 --- /dev/null +++ b/apps/nodebb/data.yml @@ -0,0 +1,19 @@ +name: NodeBB +tags: + - 建站 +title: 基于Node.js的现代化论坛程序 +type: 建站 +description: 基于Node.js的现代化论坛程序 +additionalProperties: + key: nodebb + name: nodebb + tags: + - WebSite + shortDescZh: 基于Node.js的现代化论坛程序 + shortDescEn: Open source Forum Powered by Node.js + type: website + crossVersionUpdate: true + limit: 0 + website: https://nodebb.org/ + github: https://github.com/NodeBB/NodeBB + document: https://docs.nodebb.org/ \ No newline at end of file diff --git a/apps/nodebb/latest/data.yml b/apps/nodebb/latest/data.yml new file mode 100644 index 00000000..8def98b5 --- /dev/null +++ b/apps/nodebb/latest/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: 4567 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 应用端口 + required: true + rule: paramPort + type: number + - default: example.com + envKey: DOMAIN + labelEn: Allowed_Origins + labelZh: 绑定域名 + required: true + rule: paramExtUrl + type: text diff --git a/apps/nodebb/latest/docker-compose.yml b/apps/nodebb/latest/docker-compose.yml new file mode 100644 index 00000000..790af483 --- /dev/null +++ b/apps/nodebb/latest/docker-compose.yml @@ -0,0 +1,22 @@ +version: "3.3" +services: + nodebb: + container_name: ${CONTAINER_NAME} + ports: + - "${PANEL_APP_PORT_HTTP}:4567" + user: 0:0 + image: elestio/nodebb:latest + restart: always + networks: + - 1panel-network + environment: + URL: "https://${DOMAIN}" + volumes: + - ./nodebb-files:/usr/src/app/public/uploads + # - ./nodebb-config/config.json:/usr/src/app/config.json + - ./entrypoint.sh:/usr/src/app/entrypoint.sh + + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/nodebb/logo.png b/apps/nodebb/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d7782158b5a5c535aaff145b6dc1928a0cb28a GIT binary patch literal 13884 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 KMNUMnLSTX-ZdmI8 literal 0 HcmV?d00001