diff --git a/.github/README.md b/.github/README.md index 479295f5..4171aee4 100644 --- a/.github/README.md +++ b/.github/README.md @@ -50,6 +50,7 @@ | 🟢 | <img height="22" src="https://file.lifebus.top/apps/baota/logo.png" width="22"/> | 宝塔 | https://www.bt.cn/ | 宝塔,安全高效的服务器运维面板 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/bark/logo.png" width="22"/> | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/bitmagnet/logo.png" width="22"/> | Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | | +| 🟢 | <img height="22" src="https://file.lifebus.top/apps/bookstack/logo.png" width="22"/> | BookStack | https://www.bookstackapp.com/ | 一个用于存储和组织信息及文档的平台 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/casdoor/logo.png" width="22"/> | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/certimate/logo.png" width="22"/> | Certimate | https://docs.certimate.me/ | SSL证书管理工具 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/cookie-cloud/logo.png" width="22"/> | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | | diff --git a/README.md b/README.md index 99097d33..2a057e05 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ | 🟢 | <img height="22" src="https://file.lifebus.top/apps/baota/logo.png" width="22"/> | 宝塔 | https://www.bt.cn/ | 宝塔,安全高效的服务器运维面板 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/bark/logo.png" width="22"/> | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/bitmagnet/logo.png" width="22"/> | Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | | +| 🟢 | <img height="22" src="https://file.lifebus.top/apps/bookstack/logo.png" width="22"/> | BookStack | https://www.bookstackapp.com/ | 一个用于存储和组织信息及文档的平台 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/casdoor/logo.png" width="22"/> | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/certimate/logo.png" width="22"/> | Certimate | https://docs.certimate.me/ | SSL证书管理工具 | | | 🟢 | <img height="22" src="https://file.lifebus.top/apps/cookie-cloud/logo.png" width="22"/> | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | | diff --git a/apps/bookstack/24.12.1/data.yml b/apps/bookstack/24.12.1/data.yml new file mode 100644 index 00000000..f3270008 --- /dev/null +++ b/apps/bookstack/24.12.1/data.yml @@ -0,0 +1,143 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: Percona + value: percona + - default: "/home/bookstack" + edit: true + envKey: BOOKSTACK_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: "" + edit: true + envKey: APP_KEY + labelZh: 应用密钥 + labelEn: Application key + required: true + type: text + - default: "http://127.0.0.1:8080" + edit: true + envKey: APP_URL + labelZh: 应用 URL + labelEn: Application URL + required: true + type: text + - default: "127.0.0.1" + edit: true + envKey: DB_HOST + labelZh: 数据库 主机 + labelEn: Database Host + required: true + type: text + - default: 3306 + edit: true + envKey: DB_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "bookstack" + edit: true + envKey: DB_DATABASE + labelZh: 数据库 名称 + labelEn: Database Name + required: true + type: text + - default: "bookstack" + edit: true + envKey: DB_USERNAME + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: DB_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + required: true + type: password + - default: "smtp" + edit: true + envKey: MAIL_DRIVER + labelZh: 邮件协议 + labelEn: Mail Protocol + required: false + type: text + - default: "BookStack" + edit: true + envKey: MAIL_FROM_NAME + labelZh: 邮件发送者 + labelEn: Mail Sender + required: false + type: text + - default: "bookstack@example.com" + edit: true + envKey: MAIL_FROM + labelZh: 邮件发送地址 + labelEn: Mail Sender Address + required: false + type: text + - default: "smtp.gmail.com" + edit: true + envKey: MAIL_HOST + labelZh: 邮件服务器 主机 + labelEn: Mail Server Host + required: false + type: text + - default: 587 + edit: true + envKey: MAIL_PORT + labelZh: 邮件服务器 端口 + labelEn: Mail Server Port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: MAIL_USERNAME + labelZh: 邮件服务器 用户名 + labelEn: Mail Server Username + required: false + type: text + - default: "" + edit: true + envKey: MAIL_PASSWORD + labelZh: 邮件服务器 密码 + labelEn: Mail Server Password + required: false + type: password + - default: "tls" + edit: true + envKey: MAIL_ENCRYPTION + labelZh: 邮件服务器 加密协议 + labelEn: Mail Server Encryption Protocol + required: false + type: text diff --git a/apps/bookstack/24.12.1/docker-compose.yml b/apps/bookstack/24.12.1/docker-compose.yml new file mode 100644 index 00000000..2a6ec0e1 --- /dev/null +++ b/apps/bookstack/24.12.1/docker-compose.yml @@ -0,0 +1,23 @@ +networks: + 1panel-network: + external: true + +services: + bookstack: + image: solidnerd/bookstack:24.12.1 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${BOOKSTACK_ROOT_PATH}/uploads:/var/www/bookstack/public/uploads + - ${BOOKSTACK_ROOT_PATH}/storage-uploads:/var/www/bookstack/storage/uploads + environment: + - TZ=Asia/Shanghai diff --git a/apps/bookstack/24.12.1/envs/default.env b/apps/bookstack/24.12.1/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/bookstack/24.12.1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/bookstack/24.12.1/envs/global.env b/apps/bookstack/24.12.1/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/bookstack/24.12.1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/bookstack/24.12.1/scripts/init.sh b/apps/bookstack/24.12.1/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/bookstack/24.12.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/apps/bookstack/24.12.1/scripts/uninstall.sh b/apps/bookstack/24.12.1/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/bookstack/24.12.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/apps/bookstack/24.12.1/scripts/upgrade.sh b/apps/bookstack/24.12.1/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/bookstack/24.12.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/apps/bookstack/README.md b/apps/bookstack/README.md new file mode 100644 index 00000000..e7a52751 --- /dev/null +++ b/apps/bookstack/README.md @@ -0,0 +1,71 @@ +# BookStack + +一个用于存储和组织信息及文档的平台 + + + + + +## 简介 + +BookStack 是一个具有偏见的文档平台,它提供了一种愉快且简单的开箱即用体验。 +新用户在使用实例时应该觉得体验直观,并且只需要基本的文字处理技能就能参与在 BookStack 上创建内容。 +平台应向需要的高级电源功能提供支持,但不应干扰核心简单用户体验。 + +BookStack 不是设计为可扩展的平台,用于上述声明之外的目的。 + +## 特性 + +🚀 免费与开源 + +BookStack 完全免费且开源,采用 MIT 许可。源代码可在 GitHub 上获取。下载和安装自己的 BookStack 实例无需付费。 + +🚀 简单,简洁的界面 + +简洁性一直是构建 BookStack 时的首要任务。页面编辑器拥有简单的所见即所得(WYSIWYG)界面,所有内容都被划分为三个简单的现实世界组: + +🚀 可搜索和互联 + +BookStack 中的内容可完全搜索。您可以在书籍级别或跨所有书籍、章节和页面进行搜索。直接链接到任何段落的能力使您能够保持文档的关联性。 + +🚀 可配置 + +配置选项允许您设置 BookStack 以适应您的使用情况。您可以更改名称、标志和注册选项。您还可以更改整个系统是否公开可见。 + +🚀 简单要求 + +BookStack 使用 PHP 构建,基于 Laravel 框架,并使用 MySQL 存储数据。性能得到了考虑,BookStack 可以在 5 美元的 Digital Ocean +VPS 上愉快地运行。 + +🚀 内置 diagrams.net + +页面编辑器中的 BookStack 包含diagrams.net 内置绘图功能,允许您在文档中快速轻松地创建图表。 + +🚀 多语言 + +BookStack 用户可以设置他们喜欢的语言。多亏了伟大的社区贡献者,当前内置的 BookStack 语言包括 EN、FR、DE、ES、IT、JA、NL、PL、RU +以及许多更多。 + +🚀 可选 Markdown 编辑器 + +如果您喜欢使用 Markdown 编写,BookStack 支持您。提供了一个 Markdown 编辑器,并支持您在编写文档时实时预览。 + +🚀 集成认证 + +以及默认的电子邮件/密码登录社交提供者,如 GitHub、Google、Slack、AzureAD 等均可使用。企业环境提供 Okta、SAML2 和 LDAP 选项。 + +🚀 强大功能 + +在强大的搜索和链接功能之上,还有跨书排序、页面修订和图像管理。完整的角色和权限系统允许您根据需要锁定内容和操作。 + +🚀 多因素认证 + +MFA 内置且可在需要时按角色级别强制执行。 MFA 选项包括 TOTP(谷歌/微软身份验证器、Authy 等)和静态备份码。 + +🚀 暗黑模式与明亮模式 + +BookStack 提供浅色主题和深色主题的用户界面,节省眼睛 那些更喜欢在阴影中工作的人。这可以在用户级别进行配置。 + +--- + + diff --git a/apps/bookstack/data.yml b/apps/bookstack/data.yml new file mode 100644 index 00000000..e7b9eee4 --- /dev/null +++ b/apps/bookstack/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: bookstack + name: BookStack + tags: + - WebSite + - Local + shortDescZh: 一个用于存储和组织信息及文档的平台 + shortDescEn: A platform for storing and organising information and documentation + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.bookstackapp.com/ + github: https://github.com/BookStackApp/BookStack/ + document: https://www.bookstackapp.com/docs/ diff --git a/apps/bookstack/logo.png b/apps/bookstack/logo.png new file mode 100644 index 00000000..939b97e4 Binary files /dev/null and b/apps/bookstack/logo.png differ