几个公司wiki知识库调研和感悟

@
目录

需求背景

公司准备做一个知识库,我这边调研了几个项目,如下

第一个是我们耳熟能详的confluence,但是好想要收费,先搁置

第二个是mindoc,是一个小型的开源项目,可以docker跑项目,上传文件直接映射到本地,使可以用mysql,有点简陋但也基本够用(可docker)

第三个是看很多人推的Wiki.js,怎么说呢,主要看中了他外观还有一万六千多star,毕竟建立于nodejs基础之上写的,但是有个致命bug,后面会写(可docker)

具体实现

  • mindoc

    docker pull registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v0.13
    // 它容器里面有自带的mysql的其他工具,只需要对外暴露端口就行
    docker run --name=mindoc --restart=always -v /data/uploads:/mindoc/uploads -v /data/database:/data/database -e MINDOC_DB_ADAPTER=sqlite3 -e MINDOC_DB_DATABASE=./database/mindoc.db -e MINDOC_CACHE=true -e MINDOC_CACHE_PROVIDER=file -e MINDOC_ENABLE_EXPORT=true -p 8181:8181 -p 3306:3306 -d registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v0.13

  • wiki.js
    先配置好mysql的数据库,空的即可,名字自定,然后再适当修改docker的命令参数

docker run -d -p 8080:3000 --name wiki --restart unless-stopped -e "DB_TYPE=mysql" -e "DB_HOST=你的db" -e "DB_PORT=你的prot" -e "DB_USER=你的user" -e "DB_PASS=你的password" -e "DB_NAME=你的数据库名" ghcr.io/requarks/wiki:2

经验&吐槽

在这里我要特地花点篇幅介绍下wiki.js的使用经验,因为是国外项目很多操作流程跟咱们就不大一致,可能本来思维方式就不大一样嘛,

首先是到写文章页,摸了半天原来是先进到看文章页

然后再点击右上角的+号

然后要先输入你这个新页面的地址路径

选择哪种编辑器

组织填写信息

首先要诟病的是他上方工具栏可用工具太少了,都没有代码框可以选

然后是他图片处理,都不能直接粘贴图片,非要先上传再选,上传就上传了吧,选的时候还看不到缩略图,真尬

接着是他用户权限那块,理解是好理解的,先分配用户,再给这个用户分配组,再给组分配权限

OK,那我先回管理界面分配权限去

怎么回去,如下图,点击设置

同样,怎么回到页面的界面配置界面点"退出"

怎么配置一个用户能不能看到这个页面呢,就是配置这个页面给不给这个用户组权限,如下图

然后最为致命的地方来了,我用一个用户创建A页面,添加图片,然后给另一个用户的用户组给予所有权限,但是用另一个用户访问A页面文字能出来,但图片一直就出不来,特意在网上找了这个老哥疑问看了下,还是不行,这也是我最后放弃wiki.js的原因.

小结

一开始国产项目看不上,就用用国外的,各种不适应但也算是走过来了,但最后这个致命bug很蛋疼,还有选择图片不能看缩略图很烦,最后想法是前期使用国内开源,后期使用confluence(也不算贵,一年基本一天一块钱,按我们现在规模)