快速开始
简介
BookStack 是一个开源的、自托管的文档与知识库系统。
官网与源码
- 官网:https://www.bookstackapp.com
- 例子:https://demo.bookstackapp.com
- 源码:https://github.com/BookStackApp/BookStack
- 许可证:MIT
功能
BookStack 使用层级结构来组织内容:
书架
└─ 书籍
└─ 章节
└─ 页面
- 支持可视化编辑器和 Markdown 编辑。
- 提供全文搜索、权限控制和版本修订。
- 支持图片、附件、链接分享与 API 集成。
功能定制
本站在 BookStack 项目的基础上做了一些定制化的扩展和优化。
亿点点强迫症
在审美和体验上花了不少功夫。
界面与体验优化
- 在页面整体布局中,将原本较为宽松的三栏结构调整为向中间聚拢。
- 优化了书籍导航和页面导航的布局与功能,信息层级更清晰。
- 优化了书籍中间页面内容区域的滚动体验,阅读更流畅。
- 添加了在线 Monaco Editor 编辑器功能,增强代码与文本编辑体验。
- 优化了明亮主题与暗主题的切换体验。
书架列表视图
书架和图书支持列表视图,即使没有封面图片也可以正常展示。

移动端视图
优化了移动端的图书导航和页面导航栏。

VitePress
Markdown 的渲染风格整体上与 VitePress 基本一致,并支持部分 Markdown 扩展。
代码块标题
```bash [title]
echo hello
```
title
echo hello
代码组
::: code-group
```bash [macOS]
macOS
```
```bash [Linux]
Linux
```
:::
macOS
Linux
macOS
Linux
提示块
::: info 信息
你好,世界
:::
信息
你好,世界
::: tip 提示
专家提醒:早上尽量不要空腹吃早餐
:::
提示
专家提醒:早上尽量不要空腹吃早餐
::: warning 警告
做我们这行最忌讳的就是做我们这行
:::
警告
做我们这行最忌讳的就是做我们这行
::: danger 危险
Null Pointer Exception
:::
危险
Null Pointer Exception
Hero 首页
支持 Hero Page 风格首页,Hero Link 可在后台进行配置。


评论体验与限流
优化了评论回复的嵌套显示,层级关系更清晰。

支持全局级别和用户级别的评论限流。


安全增强
- 增加了禁止账号密码登录的功能,可用于仅保留外部认证登录方式的场景。
安装与配置
我也不知道
2026 年了,遇事不决,请找 AI。
环境依赖
- PHP:必须,世界上最好的语言。
- MySQL:必须,我的发音是
My S-Q-L,不是My sequel,更不是My 色扣。 - Redis:可选,仅在需要使用 Redis 作为缓存、会话或队列驱动时使用。
- Nginx:可选,生产部署常用,本地可直接使用
php artisan serve。 - Composer:部署使用,安装 PHP 依赖。
- Npm:部署使用,构建前端资源。
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.
部署步骤
进入项目的根目录:
cd bookstack-basic
安装 PHP 依赖:
composer install
安装前端依赖:
npm install
构建静态资源:
npm run build
复制环境配置:
cp .env.example .env
修改 .env,确认以下配置:
APP_URL=http://localhost:8402
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bookstack
DB_USERNAME=root
DB_PASSWORD=
如果你要使用 Redis,可额外设置:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_SERVERS=127.0.0.1:6379:0
生成应用密钥:
php artisan key:generate
执行数据库迁移:
php artisan migrate
导入示例数据(可选):
php artisan bookstack:import-demo-content
运行项目,直接启动内置服务:
php artisan serve --host=127.0.0.1 --port=8402
访问:
http://127.0.0.1:8402
账号密码
账号
admin@admin.com
密码
password