Hi!大家好呀!我是你们努力的喵哥!
你们自己的文档是怎么管理那?有没有各个文件到处乱放?有没有到处云盘备份?是不是经常想找某个文档的时候找不到了?
近两年知识库的概念特别火。这些所谓的知识,大多数都会沉淀成为文档。因此,我们文档就是我们珍贵的知识。特别是我们的技术文档。我们还是要好好管理起来的。
所以,今天喵哥就给大家推荐这款文档管理的开源项目 Wizard。拯救你乱糟糟的零散文档。
Wizard 与 ShowDoc 比较类似。但是 Wizard 更适用于技术人员一些。特别是中等规模的团队,Wizard 可以集成各类其它文档。但相较于语雀等成熟的商业知识库管理软件,设计和功能上还是有所差距。但是 Wizard 是完全免费,且可以自由私有部署。
目前 Wizard 主要包含以下功能:
Swagger,Markdown,Table 类型的文档管理
文档修改历史管理
文档修改差异对比
用户权限管理
项目分组管理
LDAP 统一身份认证
文档搜索,标签搜索
阅读模式
文档评论
消息通知
文档分享
统计功能
流程图,序列图,饼图,Tex LaTex 科学公式支持
多主题切换
安装
目前支持两种安装方式,如果你熟悉Docker,可以直接使用Docker容器的方式来运行该项目,这也是最简单的方式了。如果你没有使用Docker或者不知道什么是Docker,那么请直接参考手动安装部分。
通过 Docker 安装
详细安装方法参考 Docker Hub mylxsw/wizard。
方法一
首先对于新安装用户,需要执行数据库的初始化
docker run -it --rm --name wizard \
-e DB_HOST=host.docker.internal \
-e DB_PORT=3306 \
-e DB_DATABASE=wizard \
-e DB_USERNAME=wizard \
-e DB_PASSWORD=wizard \
mylxsw/wizard 初始化命令
这里的 初始化命令 包含两个,依次执行即可
php artisan migrate:install
php artisan migrate
最后,直接运行下面的 Docker 命令即可
docker run -d --name wizard \
-e DB_HOST=host.docker.internal \
-e DB_PORT=3306 \
-e DB_DATABASE=wizard \
-e DB_USERNAME=wizard \
-e DB_PASSWORD=wizard \
-p 8080:80 \
-v /Users/mylxsw/Downloads:/webroot/storage/app/public \
mylxsw/wizard
简要说明:
- -e 指定配置,用环境变量的形式覆盖 .env 中的配置
- -d 后台模式运行
- -p 指定映射容器内的80端口为宿主机的 8080 端口,这样就可以在宿主机上以 http://localhost:8080 的形式访问了
- -v 映射数据目录位置,将本地目录映射到文件上传存储目录,避免重启服务时图片等数据丢失
在使用 Docker 模式启动后,如果启动后访问页面报错 500,可以在启动命令中添加 -e APP_DEBUG=true 来启用 DEBUG 模式,在访问的时候就可以看到详细的报错信息了。
方法二
我们需要创建一个Dockerfile,在Dockerfile中添加环境配置,比如我采用了宿主机上安装的MySQL服务器,就有了下面的这段Dockerfile配置
FROM mylxsw/wizard:latest
# 数据库连接配置
# 这里可以根据需要添加其它的Env配置,可用选项参考项目的.env.example文件
ENV DB_CONNECTION=mysql
ENV DB_HOST=host.docker.internal
ENV DB_PORT=3306
ENV DB_DATABASE=wizard_2
ENV DB_USERNAME=wizard
ENV DB_PASSWORD=wizard
ENV WIZARD_NEED_ACTIVATE=false
# 访问地址,只有正确配置后,导出的 markdown 文档图片才能正常展示
ENV APP_URL=http://localhost:8080
# 文件上传存储目录
VOLUME /webroot/storage/app/public
RUN php artisan config:cache
执行构建
docker build -t my-wizard
数据库初始化
docker run -it --rm --name my-wizard my-wizard php artisan migrate:install
docker run -it --rm --name my-wizard my-wizard php artisan migrate
运行
docker run -d --name my-wizard -p 8080:80 my-wizard
然后就可以通过 http://localhost:8080 访问 Wizard 了。
最后
Wizard 的作者是 mylxsw,且共有三位贡献者。Wizard 在 Github 上收获了923 Star。虽然,项目的 Star 的不多,但作者已维护项目三年多了,而且还在不断的迭代更新中。喵哥,在搭建 Wizard 并在团队推广后,已沉淀了上百份文档。
项目地址:https://github.com/mylxsw/wizard
在线体验:http://wizard.aicode.cc/