自托管、私有部署的在线文档管理系统和知识库—MrDoc 觅思文档
2年前
MrDoc
MrDoc是基于 Python 开发的在线文档系统,适合作为个人和小型团队的文档、知识和笔记管理工具。致力于成为全平台(Web端、桌面端、移动端)的私有化在线文档部署方案。官方图
安装
在注册表中搜索mrdoc ,选择jonnyan404/mrdoc-nginx,版本选择latest。容器下载
随后在docker文件夹中创建mrdoc文件夹,再创建两个子文件夹,分别为config和media挂载路径
挂载路径如图设置为/app/MrDoc/config和/app/MrDoc/media
端口443和80,映射端口只要不与本地端口冲突即可。
这里需要注意环境里面,LISTEN_PORT端口,需要和前面设置的容器端口一致,默认为10086要改成80。
随后在/docker/mrdoc/config目录新建config.ini文件,将下面的内容粘贴进去,并根据自己的数据库进行设置。
# 如果自己没有更换其它数据库的需求,请原样复制粘贴,不要乱改配置.
# mysql版本注意:需要mysql5.6及以上版本.
# mysql需要手动创建一个数据库:create database mrdoc character set utf8mb4 collate utf8_bin;
#grant all privileges on mrdoc.* to 'jonnyan404'@'%' identified by 'www.jonnyan404.top:8088' with grant option;
#flush privileges;
[site]
# True表示开启站点调试模式,False表示关闭站点调试模式
debug = False
[database]
# engine,指定数据库类型,接受sqlite、mysql、oracle、postgresql
engine = sqlite
# name表示数据库的名称
# name = mrdoc
# user表示数据库用户名
# user = panda
# password表示数据库用户密码
# password = panda
# host表示数据库主机地址
# host = db_host
# port表示数据库端口
# port=3306
[chromium]
# path用于指定Chromium的路径,不指定则使用默认的
path = /usr/lib/chromium/chrome
args = --no-sandbox,--disable-gpu
启动容器,新增终端输入sh,然后输入以下命令
# 执行数据库迁移
python manage.py migrate
加载中等完全ok之后,再创建一个管理员账户
# 创建一个管理员账户来管理整个 MrDoc
python manage.py createsuperuser
按提示以此输入管理员账号邮箱密码即可。
运行
浏览器中输入http://群晖IP:80映射端口主界面
进去后显示为游客,我们使用管理员账号登陆然后进入后台。用户管理
随后根据自己需要设置就可以了。
功能特性
- 站点与用户系统
- 支持用户注册、用户登录、用户管理、管理员等基础用户功能;
- 支持注册邀请码配置、广告代码配置、统计代码配置、邮箱找回密码、全站关闭注册等管理功能;
- 文档系统
- 基于文集进行文档撰写和阅读,拥有文集、文档、文档模板、图片和附件5大模块;
- 使用基于Editormd的Markdown编辑器并扩展,以Markdown语法进行文档写作:
- 两栏式文档阅读页面、三级目录层级显示,文档阅读字体缩放,字体类型切换,页面社交分享,移动端阅读优化;
- 支持文集后台导出打包markdown文本格式.md文件、前台导出为EPUB等格式文件;
- 基于文集进行文档权限控制,提供公开、私密、指定用户可见、访问码可见4种权限模式;
- 支持基于账户的 API接口 ,可以借助账户token通过API获取文集、上传图片和创建文档;
- 支持文集协作功能,一个文集可以拥有一个创建者和多个协作者,可灵活选择协作权限;
支持文档历史版本功能,可以查看和对比历史版本与现有版本的差异,恢复某个历史版本为当前版本;官方图官方图官方图
后述
整体来说挺好用,不过这一类的工具市面上已经特别特别多了,我身边人最为熟知的大概就是语雀,几乎大部分人都知道。只能说适合自己的才是最好的,对于有团队文档需求的人来说很是实用,不过对于个人来说,协同之类的显得没这么重要了。值得一提的是该容器目前已经支持web端,桌面端以及浏览器插件和app了。