由于需要将公司产品线规范落实,关于知识库方面做了几个调研方案。其中包括MkDocs、MM-markdown等,但最终选择了开源的BookStack原因有三:
- BookStack是开源的,并且项目在GitHub中的活跃度很高;
- BookStack是PHP开发的,数据库使用的是MySQL5,最最最难得的是他有Docker版本。这样就不需要原生部署一套LAMP了,直接通过Docker+MySQL就可以运行;
- 配置方便,提供了后台配置页面。所有的站点内细节都可以通过配置后台解决;
下面将一步一步教各位如何快速部署一套Docker版的BookStack。
1. Docker部署
镜像拉取:
docker pull linuxserver/bookstack
如果本地已经存在数据库的情况下可以直接连接外部数据库,如下所示:
docker run --name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e DB_HOST=<<数据库IP地址>> \
-e DB_USER=<<数据库用户名>> \
-e DB_PASS=<<数据库密码>> \
-e DB_DATABASE=bookstackapp \
-p 6875:80 \
-v ${pwd}/bookstack:/config \
--restart unless-stopped \
linuxserver/bookstack
数据库使用的是5.6.x数据库,不能使用其他5.x以上的MySQL数据库(经过尝试除了5.x的版本外其他MySQL数据库连接不上,估计是连接驱动的问题)。通过DB_HOST、DB_USER、DB_PASS、DB_DATABASE就将数据库配置写上了。最后,启动之前先将目标数据库bookstackapp建设好就可以启动了,如下图所示:
成功启动后会看到[services.d]done的字样,第一次启动的时候会创建表并执行用户信息,如下图所示:
2. 页面访问
系统启动后可以通过URL登录:
http://localhost:6875/login
初始化登录Admin账号使用以下用户名和密码:
用户名:admin@example.com
密码:password
就可以登录后台了,如果出现一直loading的情况可以刷新一下页面就可以了。
至此,登录后台之后可以配置用户数据和权限信息了。