大家好,我是Mandy。今天给大家推荐一款开源、适合个人和小型团队的文档、知识、笔记在线管理系统。
之前写了一篇思维导图的工具,后台有收到读者的私信,在询问是否有可以适用团队、支持私有化部署的文档管理系统,恰好最近个人也在因为资料过多,难以管理的问题。本来是想个人开发这样一套系统,虽然功能不复杂,但也要时间去开发,于是想到去找一套适合这样场景的开源系统。
提到文档管理系统,市面上也有非常多的平台,功能也非常的强大。例如语雀文档、看云文档、飞书文档、腾讯文档等等,这些文档虽然不需要自己去搭建系统、功能非常的强大、在一定程度上也可以免费使用,但不太符合私有化部署的要求,并且过于依赖平台,平台变动也会跟着变动,同时里面的一些图片、图形、思维导图很难迁移到其他的平台,便放弃选择第三方平台。
今天要分享的一款开源文档管理系统叫做MrDoc
,MrDoc是一个适合个人和小型团队的文档、知识、笔记在线文档管理系统。这个系统使用的是Python开发,搭建也非常的简单。你完全不用担心不会Python,而担忧系统搭建,官方也有几种搭建方式,从我个人搭建的方式来说,推荐使用docker搭建,差不多几分钟就能搭建成功。
工具介绍
MrDoc 觅思文档,是一款自托管、私有部署的在线文档管理系统和知识库。整个系统分为开源版和专业版,不过开源版已经很满足很多的业务场景。总结下来它有这样的几个特点:
工具优势
1、书写便捷
支持使用「Markdown」和「富文本」创建文本文档,使用「在线表格」创建在线表格记录表格数据,文档的创作简便且高效。
2、沉浸阅读
在双栏式阅读界面中,你可以在左边栏快速查看和选择大纲,在右方浏览文档内容,像读书一样阅读文档,带来非凡的阅读体验。
3、权限管控
支持多种方式对文集、文档的浏览权限(公开、私密、指定用户可见、访问码可见)、协作权限(初级协作、高级协作)以及用户的创作权限进行控制,随心所欲对权限进行管控!
4、导入导出
文档导入,方便你迁移保存本地文档和第三方系统的文档。文档导出,则满足在非线上环境下的文档使用需求。(第三方系统的数据导入功能开发中)。
5、全平台支持
除了网页Web端,还支持浏览器扩展、桌面客户端(Windows、Linux、macOS)、APP端(安卓、IOS)、小程序端,基本实现全平台和多终端同步。
6、素材管理
支持图片和附件的管理,支持附件格式白名单配置,支持第三方OSS存储配置,支持PDF、Office和常见文本文件的附件预览。
7、私有化部署
应用部署在自己的计算机设备(云服务器、本地服务器、电视盒子、群晖……)和网络中(公网、内网),数据完全自己掌握,不用担心隐私和数据泄露、SaaS产品突然停止服务。
8、持续更新
产品在持续地迭代开发和更新,Web 端稳定保持每月发布一个新版本的节奏,其他终端根据功能开发和 Bug 修复情况不定期进行新版本发布。
使用场景
1、知识管理
将知识按文集进行归类,无限层级文档,用在知识管理上,让知识不再碎片化和零散化。
2、团队文档
将 MrDoc 用作团队内部的文档仓库,汇聚团队技能,沉淀团队经验,积累团队数字资产。
3、产品手册
书籍化的结构,适合作为产品的说明手册来呈现,特别是有多个产品需要编写文档手册的时候。
4、在线教程
用 MrDoc 编写、分享和分发你的在线教程,系统化、体系化地输出自己的知识。
支持平台
1、web端
通过网页web端,你可以一处编写,随时通过浏览器即可访问,方便快捷。
2、桌面客户端
可以通过桌面客户端,脱离浏览器标签页的纷繁干扰,沉浸式地编写文档。
3、浏览器扩展
同时是支持浏览器扩展的方式,支持随手快速编写文档、剪藏网页内容。
4、手机APP
支持Windows、Mac桌面客户端,以及iOS和Android等设备,便捷的移动和碎片化文档管理,不再受时空限制。
综上所述,这样是我为什么选择MrDoc的原因,接下来就开始分享如何搭建MrDoc文档管理系统。
系统搭建
对于MrDoc文档管理系统,官网也有非常详细的教程,你也可以直接按照官方教程搭建即可。这里我就不多介绍,简单演示一下使用Docker在Linux系统上的搭建步骤。
这里我就只演示开源版的搭建步骤,关于专业的搭建也差不多。
1、克隆代码到服务器本地
代码语言:shell复制# /home/wwwroot是你安装的目录,根据你需要选择即可,没有什么要求
cd /home/wwwroot && git clone https://gitee.com/zmister/MrDoc.git
这里需要注意一下,后续的所有操作都是在/home/wwwroot目录下面。
2、导入Docker镜像
代码语言:shell复制docker pull zmister/mrdoc:v6
3、运行Docker容器
代码语言:shell复制docker run -d --name mrdoc -p 10086:10086 -v /opt/MrDoc:/app/MrDoc zmister/mrdoc:v6
这里第一个10086是你主机的端口号,第二个10086是容器也是MrDoc的服务端口。第一个端口号可以根据你自己的需要修改,只要本地没有被使用的端口号即可,第二个端口号最好不要修改,使用默认的端口号。
4、创建账号
代码语言:shell复制docker exec -it mrdoc python manage.py createsuperuser
使用上面的命令,会自动弹出命令窗口,让你输入账号。
5、修改密码
代码语言:shell复制docker exec -it mrdoc python manage.py changepassword 用户名
后面的用户名,就是第4步中创建的账号。
6、访问预览
执行完上诉操作之后,你就可以直接使用http://IP:10086
访问即可,这里的10086是前面提到的第一个10086端口号,需要保持一致。如果你再Linux上搭建的,不能正常访问,这时候你可以关注一下是否是防火墙的问题。
不过不推荐使用IP 端口的方式访问
,你可以直接使用web服务做一个端口代理,使用域名来访问。
端口代理
这里以NGINX
作为web服务器,假设域名是a.baidu.com
。你需要在NGINX中添加如下配置即可。
server{
listen 80;
server_name a.baidu.com;
location / {
proxy_pass http://127.0.0.1:10086;
}
}
配置好之后,重启NGINX服务即可。nginx -s reload
。
效果预览
这里罗列几张官网的预览效果图。