diff --git a/.github/README.md b/.github/README.md
index 479295f53..4171aee44 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -50,6 +50,7 @@
| 🟢 |
| 宝塔 | https://www.bt.cn/ | 宝塔,安全高效的服务器运维面板 | |
| 🟢 |
| Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
| 🟢 |
| Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | |
+| 🟢 |
| BookStack | https://www.bookstackapp.com/ | 一个用于存储和组织信息及文档的平台 | |
| 🟢 |
| Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
| 🟢 |
| Certimate | https://docs.certimate.me/ | SSL证书管理工具 | |
| 🟢 |
| Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | |
diff --git a/README.md b/README.md
index 99097d337..2a057e056 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,7 @@
| 🟢 |
| 宝塔 | https://www.bt.cn/ | 宝塔,安全高效的服务器运维面板 | |
| 🟢 |
| Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | |
| 🟢 |
| Bitmagnet | https://bitmagnet.io/ | 自托管的 BitTorrent 索引器 | |
+| 🟢 |
| BookStack | https://www.bookstackapp.com/ | 一个用于存储和组织信息及文档的平台 | |
| 🟢 |
| Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | |
| 🟢 |
| Certimate | https://docs.certimate.me/ | SSL证书管理工具 | |
| 🟢 |
| 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 000000000..f3270008d
--- /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 000000000..2a6ec0e19
--- /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 000000000..cd05f46e6
--- /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 000000000..e10989fe4
--- /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 000000000..07fb8c3fe
--- /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 000000000..c86c4fbca
--- /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 000000000..07fb8c3fe
--- /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 000000000..e7a52751f
--- /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 000000000..e7b9eee41
--- /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 000000000..939b97e4f
Binary files /dev/null and b/apps/bookstack/logo.png differ