开源MrDoc,一个适合个人和小型团队的文档、知识、笔记在线管理系统

大家好,我是Mandy。今天给大家推荐一款开源、适合个人和小型团队的文档、知识、笔记在线管理系统。

之前写了一篇思维导图的工具,后台有收到读者的私信,在询问是否有可以适用团队、支持私有化部署的文档管理系统,恰好最近个人也在因为资料过多,难以管理的问题。本来是想个人开发这样一套系统,虽然功能不复杂,但也要时间去开发,于是想到去找一套适合这样场景的开源系统。

提到文档管理系统,市面上也有非常多的平台,功能也非常的强大。例如语雀文档、看云文档、飞书文档、腾讯文档等等,这些文档虽然不需要自己去搭建系统、功能非常的强大、在一定程度上也可以免费使用,但不太符合私有化部署的要求,并且过于依赖平台,平台变动也会跟着变动,同时里面的一些图片、图形、思维导图很难迁移到其他的平台,便放弃选择第三方平台。

今天要分享的一款开源文档管理系统叫做MrDoc,MrDoc是一个适合个人和小型团队的文档、知识、笔记在线文档管理系统。这个系统使用的是Python开发,搭建也非常的简单。你完全不用担心不会Python,而担忧系统搭建,官方也有几种搭建方式,从我个人搭建的方式来说,推荐使用docker搭建,差不多几分钟就能搭建成功。

Snipaste_2023-11-20_00-06-04

工具介绍

MrDoc 觅思文档,是一款自托管、私有部署的在线文档管理系统和知识库。整个系统分为开源版和专业版,不过开源版已经很满足很多的业务场景。总结下来它有这样的几个特点:

工具优势

Snipaste_2023-11-19_23-44-38

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 编写、分享和分发你的在线教程,系统化、体系化地输出自己的知识。

Snipaste_2023-11-19_23-48-14

支持平台

1、web端

通过网页web端,你可以一处编写,随时通过浏览器即可访问,方便快捷。

2、桌面客户端

可以通过桌面客户端,脱离浏览器标签页的纷繁干扰,沉浸式地编写文档。

3、浏览器扩展

同时是支持浏览器扩展的方式,支持随手快速编写文档、剪藏网页内容。

4、手机APP

支持Windows、Mac桌面客户端,以及iOS和Android等设备,便捷的移动和碎片化文档管理,不再受时空限制。

Snipaste_2023-11-19_23-53-43

综上所述,这样是我为什么选择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中添加如下配置即可。

代码语言:shell
复制
server{
	listen 80;
	server_name a.baidu.com;
location / {
	proxy_pass http://127.0.0.1:10086;
}

}

配置好之后,重启NGINX服务即可。nginx -s reload

效果预览

这里罗列几张官网的预览效果图。

3mrdoc-user-center
4mrdoc-project
2mrdoc-admin
1mrdoc-write