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

大家好,我是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、克隆代码到服务器本地

she 复制代码
# /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容器

she 复制代码
docker run -d --name mrdoc -p 10086:10086 -v /opt/MrDoc:/app/MrDoc zmister/mrdoc:v6

这里第一个10086是你主机的端口号,第二个10086是容器也是MrDoc的服务端口。第一个端口号可以根据你自己的需要修改,只要本地没有被使用的端口号即可,第二个端口号最好不要修改,使用默认的端口号。

4、创建账号

she 复制代码
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中添加如下配置即可。

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

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

效果预览

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

相关推荐
Tech Synapse16 分钟前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
.生产的驴17 分钟前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
微信-since8119232 分钟前
[ruby on rails] 安装docker
后端·docker·ruby on rails
代码吐槽菌2 小时前
基于SSM的毕业论文管理系统【附源码】
java·开发语言·数据库·后端·ssm
豌豆花下猫3 小时前
Python 潮流周刊#78:async/await 是糟糕的设计(摘要)
后端·python·ai
YMWM_3 小时前
第一章 Go语言简介
开发语言·后端·golang
码蜂窝编程官方3 小时前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
hummhumm3 小时前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
J老熊3 小时前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
AuroraI'ncoding3 小时前
时间请求参数、响应
java·后端·spring