基于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 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
自动 |
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
,远程用tailscale
的IP
也是不能访问的,所以如果要远程访问,要么填入tailscale
的IP
+端口 ,要么就直接填域名;
运行
第一次会对数据库数据进行了初始化,所以要稍等一会儿。
在浏览器中输入 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/BookStackBookStack
地址:https://www.bookstackapp.com/基于 Laravel 开源项目 BookStack 构建知识管理与服务平台 | 在线教育 | Laravel 完整开源项目大全
地址:https://laravelacademy.org/post/19996