diff --git a/appstore/bookstack/24.12.1/.env b/appstore/bookstack/24.12.1/.env new file mode 100644 index 00000000..131f2a49 --- /dev/null +++ b/appstore/bookstack/24.12.1/.env @@ -0,0 +1,30 @@ +# MySQL 服务 (前置检查) [必填] +PANEL_DB_TYPE=mysql + +# 数据持久化路径 [必填] +BOOKSTACK_ROOT_PATH=/home/bookstack + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 应用密钥 [必填] +APP_KEY= + +# 应用 URL [必填] +APP_URL=http://127.0.0.1:8080 + +# 数据库 主机 [必填] +DB_HOST=127.0.0.1 + +# 数据库 端口 [必填] +DB_PORT=3306 + +# 数据库 名称 [必填] +DB_DATABASE=bookstack + +# 数据库 用户名 [必填] +DB_USERNAME=bookstack + +# 数据库 密码 [必填] +DB_PASSWORD= + diff --git a/appstore/bookstack/24.12.1/data.yml b/appstore/bookstack/24.12.1/data.yml new file mode 100644 index 00000000..c0537215 --- /dev/null +++ b/appstore/bookstack/24.12.1/data.yml @@ -0,0 +1,86 @@ +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 diff --git a/appstore/bookstack/24.12.1/docker-compose.yml b/appstore/bookstack/24.12.1/docker-compose.yml new file mode 100644 index 00000000..ee380160 --- /dev/null +++ b/appstore/bookstack/24.12.1/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + bookstack: + container_name: bookstack + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - PUID=1000 + - PGID=1000 + - QUEUE_CONNECTION=database + image: linuxserver/bookstack:24.12.1 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + volumes: + - ${BOOKSTACK_ROOT_PATH}/config:/config diff --git a/appstore/bookstack/24.12.1/envs/default.env b/appstore/bookstack/24.12.1/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/appstore/bookstack/24.12.1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/bookstack/24.12.1/envs/global.env b/appstore/bookstack/24.12.1/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/appstore/bookstack/24.12.1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/bookstack/24.12.1/scripts/init.sh b/appstore/bookstack/24.12.1/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/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/appstore/bookstack/24.12.1/scripts/uninstall.sh b/appstore/bookstack/24.12.1/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/appstore/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/appstore/bookstack/24.12.1/scripts/upgrade.sh b/appstore/bookstack/24.12.1/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/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/appstore/bookstack/README.md b/appstore/bookstack/README.md new file mode 100644 index 00000000..cac57cb1 --- /dev/null +++ b/appstore/bookstack/README.md @@ -0,0 +1,110 @@ +# BookStack + +一个用于存储和组织信息及文档的平台 + +![BookStack](https://file.lifebus.top/imgs/bookstack_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) + +## 简介 + +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 提供浅色主题和深色主题的用户界面,节省眼睛 那些更喜欢在阴影中工作的人。这可以在用户级别进行配置。 + +## 安装说明 + +> 默认管理员账号:`admin@admin.com` +> +> 默认管理员密码:`password` +> +> 默认已开启队列模式 + +### 服务地址 + +如果部署后需要修改: + +```bash +docker exec -it php /app/www/artisan bookstack:update-url ${OLD_URL} ${NEW_URL} +``` + ++ `${OLD_URL}`:原服务地址 ++ `${NEW_URL}`:新服务地址 ++ ``:容器名称 + +### 应用密钥 + +> 必须是 32 个字符的随机字符串,并使用 Base64编码,用于加密会话数据。 +> +> 如果提供错误的密钥,将导致无法正常使用应用程序。 +> +> 示例值:`base64:W/NpvTrf6PjZDS7Np+sjOYGQwUg3OoxrbXPVtwWYryw=` + +```sh +docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey +``` + +## 高级配置 + +如果您想使用 BookStack 的额外功能,如电子邮件、LDAP 等,您需要设置额外的环境变量或根据 BookStack 文档的指导创建自己的.env +文件。 + +您可修改配置文件: `<持久化目录>/config/www/.env`,然后重启容器。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/bookstack/data.yml b/appstore/bookstack/data.yml new file mode 100644 index 00000000..e7b9eee4 --- /dev/null +++ b/appstore/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/appstore/bookstack/logo.png b/appstore/bookstack/logo.png new file mode 100644 index 00000000..939b97e4 Binary files /dev/null and b/appstore/bookstack/logo.png differ diff --git a/dockge/bookstack/.env b/dockge/bookstack/.env new file mode 100644 index 00000000..131f2a49 --- /dev/null +++ b/dockge/bookstack/.env @@ -0,0 +1,30 @@ +# MySQL 服务 (前置检查) [必填] +PANEL_DB_TYPE=mysql + +# 数据持久化路径 [必填] +BOOKSTACK_ROOT_PATH=/home/bookstack + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 应用密钥 [必填] +APP_KEY= + +# 应用 URL [必填] +APP_URL=http://127.0.0.1:8080 + +# 数据库 主机 [必填] +DB_HOST=127.0.0.1 + +# 数据库 端口 [必填] +DB_PORT=3306 + +# 数据库 名称 [必填] +DB_DATABASE=bookstack + +# 数据库 用户名 [必填] +DB_USERNAME=bookstack + +# 数据库 密码 [必填] +DB_PASSWORD= + diff --git a/dockge/bookstack/docker-compose.yml b/dockge/bookstack/docker-compose.yml new file mode 100644 index 00000000..ee380160 --- /dev/null +++ b/dockge/bookstack/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true +services: + bookstack: + container_name: bookstack + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - PUID=1000 + - PGID=1000 + - QUEUE_CONNECTION=database + image: linuxserver/bookstack:24.12.1 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + volumes: + - ${BOOKSTACK_ROOT_PATH}/config:/config diff --git a/dockge/bookstack/envs/default.env b/dockge/bookstack/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/dockge/bookstack/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/bookstack/envs/global.env b/dockge/bookstack/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/dockge/bookstack/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai