基于BookStack构建知识管理平台

什么是 BookStack ?

BookStack 是一个开源的、基于 Laravel + Vue.js 构建的知识管理和服务平台。具有简单但功能强大的所见即所得编辑器,允许团队轻松创建详细且有用的文档。

如果说 TiddlyWiki 倾向于个人用户,BookStack 则更适用于团队。

国内有个项目中文名叫 书栈,英文名也是 BookStack,是基于 Go 语言开发的开源书籍和文档分享站点,虽然也具备文档创建和阅读管理功能,但并不是同一款软件。

安装

建数据库

数据库直接用的群晖的 MariaDB 10,在 phpMyAdmin 中创建了名为 bookstack 的数据库

老苏没试过 MariaDB 5,万一有数据库方面的错误,请切换到 MariaDB 10,后续一般不做特殊说明,默认都将使用 MariaDB 10,与时俱进嘛🙂

安装 BookStack

在群晖上以 Docker 方式安装。

在注册表中搜索 bookstack ,选择第一个 linuxserver/bookstack,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 bookstack

文件夹 装载路径 说明
docker/bookstack /config 存放设置

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
自动 443
6875 80

没必要同时开两个端口,不用的端口可以删掉一个

环境

可变
PGID 默认设为 1000
PUID 默认设为 1000
APP_URL 可以是局域网IP+端口,也可以是域名
DB_HOST 数据库主机
DB_USER 数据库用户
DB_PASS 数据库密码
DB_DATABASE 数据库库名

注意:
1、MariaDB 10 数据库的端口是 3307
2、APP_URL 中如果你用了局域网 IP,远程用 tailscaleIP 也是不能访问的,所以如果要远程访问,要么填入 tailscaleIP+端口 ,要么就直接填域名;

运行

第一次会对数据库数据进行了初始化,所以要稍等一会儿。

在浏览器中输入 http://群晖IP:6875 就能看到登录界面

默认:Email地址admin@admin.com,密码为 password

登录成功后的主界面

可以点击右上角用户名,在下拉框里面点击编辑用户资料链接,进入编辑页面对用户信息进行修改,比如用户名、密码、头像、首选语言等

中文界面后设置就简单了

默认的编辑器是 WYSIWYG,也就是我们常说的 所见即所得 的富文本编辑器,老苏还是习惯用 Markdown

接下来就可以在 书架 页面创建新 书架

书架创建图书

可以为新书 创建页面添加章节

点击 创建章节

在章节中,点击 新页面 或者 创建页面 进入编辑状态

保存页面后

依次类推,可以添加其他的章节,并在每个章节中添加相应的页面,来完成一本书的编写

题外话

基于 Laravel 框架的应用还挺多的,光老苏写过的就有好几个:

  • 给群晖弄个漂亮的导航页(上)
  • 给群晖弄个漂亮的导航页(下)
  • 开源的音乐流媒体服务器koel
  • 问题需求跟踪工具ActionView

什么是 Laravel ?

Laravel 是一套简洁、优雅的 PHP Web 开发框架(PHP Web Framework),它可以让你从面条一样杂乱的代码中解脱出来;可以帮你构建一个完美的网络 APP,而且每行代码都可以简洁、富于表达力。【百度百科】

参考文档

BookStackApp/BookStack: A platform to create documentation/wiki content built with PHP & Laravel
地址:https://github.com/BookStackApp/BookStack

BookStack
地址:https://www.bookstackapp.com/

基于 Laravel 开源项目 BookStack 构建知识管理与服务平台 | 在线教育 | Laravel 完整开源项目大全
地址:https://laravelacademy.org/post/19996