几个公司wiki知识库调研和感悟二-mindoc搭建实现
参考:https://www.iminho.me/wiki/docs/mindoc/mindoc-summary.md
@
需求背景
继上一篇说要给公司搭个wiki库调研了一波,总结下来就是先用mindoc以后再考虑confluence。
今天再细致的调研了下mindoc的具体情况,之前这个是用php写的,现在go写的了,官网现在指导用的版本都比较老,现在2.1都出来了,还带了项目团队管理这个模块是我比较需要的。
具体实现
直接代码
docker pull registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:2.1
docker run -it --name=mindoc --restart=always -v "/home/mindoc/conf":"/mindoc/conf" -v "/home/mindoc/database":"/mindoc/database" -v "/home/mindoc/uploads":"/mindoc/uploads" -v "/home/mindoc/static":"/mindoc/static" -p 8181:8181 -e MINDOC_ENABLE_EXPORT=true -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
上面就是把mindoc2.0里面的多个文件夹映射到本地,为什么多个不直接一个最外面,后面解释
踩坑经验
这边就是要简单记下踩得坑,没办法开源不盈利的项目肯定有一些不周到的地方。
-
直接映射/mindoc文件夹到本地会报错,
进去容器看到有个start.sh
大致意思是复制文件夹,初始化数据库,执行go的打包文件 -
docker run时候使用的环境变量统统失效
一开始我准备了下设置环境变量启动容器,命令行如下
docker run --name=mindoc2 --restart=always -p 8181:8181 -e MYSQL_PORT_3306_TCP_ADDR=111.111.111.111 -e MYSQL_PORT_3306_TCP_PORT=3306 -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=123456 -e httpport=8181 -d registry.cn-hangzhou.aliyuncs.com/mindoc/mindoc:v2.0
然后进去发现没有用到mysql啊,经过找github的issue找打这个提问,好吧,没有前缀是吧,我再改下
docker run -p 8181:8181 --name mindoc2 -e DB_ADAPTER=mysql -e MYSQL_PORT_3306_TCP_ADDR=139.224.60.242 -e MYSQL_PORT_3306_TCP_PORT=3306 -e MYSQL_INSTANCE_NAME=mindoc_db -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=940327Wt! -e httpport=8181 -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
执行,发现还是不行。。。
- mysql怎么就一直初始化失败用不上,报错如下
再找找issue,看到这个提问,好吧,只支持mysql5.7+本地连接,放弃了,我服务器是不跑mysql的,算了,我还是老老实实就用自带的sqlite3吧,最后执行命令如下
docker run -it --name=mindoc --restart=always -v "/home/mindoc/conf":"/mindoc/conf" -v "/home/mindoc/database":"/mindoc/database" -v "/home/mindoc/uploads":"/mindoc/uploads" -v "/home/mindoc/static":"/mindoc/static" -p 8181:8181 -e MINDOC_ENABLE_EXPORT=true -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
总结
其实应该要感谢开源项目的贡献者,虽然有些坑需要自己踩,但是人家也是抽自己的时间去维护一个并不盈利的项目,值得我们尊重,更何况还是在天朝,本来就被压榨的不行,respect!