前言
在日常工作和学习中,我们经常需要管理大量文档,但很多文档管理系统都需要付费,或者依赖云端服务,存在数据安全和隐私风险。为了更高效、安全地管理文档,我们完全可以自己搭建一个私有化的文档管理系统。
本文将以 Mindoc 为例,演示如何在 VPS 或飞牛云 NAS 上使用 Docker 部署一个简单、好用、可完全掌控的文档管理系统。通过这种方式,你可以在自己的服务器上集中管理文档,实现多人协作、内容分类、权限控制等功能,同时无需担心数据被外部服务掌控。
项目简介
MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。
可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。
项目图片
主页面
文章界面
添加项目
权限管理
主要功能
- 项目管理:可以对项目进行编辑、更改、成员添加等。
- 文档管理:添加和删除文档,支持文档历史恢复等。
- 用户管理:添加和禁用用户,修改个人资料等。
- 用户权限管理:实现用户角色的变更。
- 项目加密:可以设置项目公开状态,私有项目需要通过 Token 访问。
- 站点配置:二次开发时可以添加自定义配置项。
- 附件管理:可管理所有项目中上传的文件。
- 项目导出:支持导出 PDF、Word、EPUB、MOBI、Markdown 等格式项目。
- 标签管理:可管理已存在的项目标签。
- 导入项目:支持导入 Markdown 压缩包成为一个项目。
- 二级目录部署:支持将 MinDoc 部署到二级子目录。
demo
项目文档
https://www.iminho.me/wiki/docs/mindoc/mindoc-summary.md
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷
准备条件
1)一台服务器或者NAS(理论上只有其他NAS都可以)
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的开源项目
https://github.com/mindoc-org/mindoc
目前有7.7k stars
更多功能或者二次修改可以访问gitee
3)域名(可选)
域名可以根据自己的需求绑定
①《飞牛NAS上搭建》
新建项目:
mindoc
compose配置如下:
services:
mindoc: # 服务名称,可以自定义
image: ywsj/mindoc:latest # 使用ywsj/mindoc的镜像,来自docker-hub镜像仓库
container_name: mindoc # 容器名称
privileged: false # 是否启用特权模式,这里禁用
restart: always # 容器退出后总是自动重启
ports:
- 8181:8181 # 端口映射:宿主机8181端口 -> 容器8181端口
volumes:
- ./mindoc/conf://mindoc/conf # 配置文件挂载
- ./mindoc/static://mindoc/static # 静态资源挂载
- ./mindoc/views://mindoc/views # 页面模板挂载
- ./mindoc/uploads://mindoc/uploads # 上传文件挂载
- ./mindoc/runtime://mindoc/runtime # 运行时文件挂载(日志、缓存等)
- ./mindoc/database://mindoc/database # 数据库存储挂载
environment:
- MINDOC_RUN_MODE=prod # 运行模式:生产环境(prod) / 开发环境(dev)
- MINDOC_DB_ADAPTER=sqlite3 # 数据库类型,这里使用 sqlite3
- MINDOC_DB_DATABASE=./database/mindoc.db # 数据库文件路径
- MINDOC_CACHE=true # 是否开启缓存
- MINDOC_CACHE_PROVIDER=file # 缓存提供方式:文件缓存
- MINDOC_ENABLE_EXPORT=true # 是否启用导出功能(true/false)
- MINDOC_BASE_URL= # 网站基础 URL(可以留空,或配置域名)
- MINDOC_CDN_IMG_URL= # 图片 CDN 地址
- MINDOC_CDN_CSS_URL= # CSS CDN 地址
- MINDOC_CDN_JS_URL= # JS CDN 地址
dns:
- 223.5.5.5 # 阿里公共 DNS
- 223.6.6.6 # 阿里公共 DNS
接下来启动即可
正常启动
第一此启动需要等待数据库初始化完成就可以
打开
飞牛云的
ip:8181(防火墙放开)
端口即可打开
默认管理员的用户名和密码
admin
123456
请及时修改
注意:文档的积累是个漫长的过程,我们为了保证数据安全可以定时备份目录mindoc避免文档丢失
补充docker可用的镜像仓库
国内如果无法拉取镜像的可以使用
仓库1
https://1ms.run/
仓库2
https://docker.ywsj.tk/
仓库3
https://mirror.azure.cn/
仓库4
https://hub.rat.dev/
仓库5
https://docker.1ms.run
仓库6
https://docker.itelyou.cf/
仓库7
https://abc.itelyou.cf/
②《vps上搭建》
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir mindoc;cd mindoc #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
mindoc: # 服务名称,可以自定义
image: ywsj/mindoc:latest # 使用ywsj/mindoc的镜像,来自docker-hub镜像仓库
container_name: mindoc # 容器名称
privileged: false # 是否启用特权模式,这里禁用
restart: always # 容器退出后总是自动重启
ports:
- 8181:8181 # 端口映射:宿主机8181端口 -> 容器8181端口
volumes:
- ./mindoc/conf://mindoc/conf # 配置文件挂载
- ./mindoc/static://mindoc/static # 静态资源挂载
- ./mindoc/views://mindoc/views # 页面模板挂载
- ./mindoc/uploads://mindoc/uploads # 上传文件挂载
- ./mindoc/runtime://mindoc/runtime # 运行时文件挂载(日志、缓存等)
- ./mindoc/database://mindoc/database # 数据库存储挂载
environment:
- MINDOC_RUN_MODE=prod # 运行模式:生产环境(prod) / 开发环境(dev)
- MINDOC_DB_ADAPTER=sqlite3 # 数据库类型,这里使用 sqlite3
- MINDOC_DB_DATABASE=./database/mindoc.db # 数据库文件路径
- MINDOC_CACHE=true # 是否开启缓存
- MINDOC_CACHE_PROVIDER=file # 缓存提供方式:文件缓存
- MINDOC_ENABLE_EXPORT=true # 是否启用导出功能(true/false)
- MINDOC_BASE_URL= # 网站基础 URL(可以留空,或配置域名)
- MINDOC_CDN_IMG_URL= # 图片 CDN 地址
- MINDOC_CDN_CSS_URL= # CSS CDN 地址
- MINDOC_CDN_JS_URL= # JS CDN 地址
dns:
- 223.5.5.5 # 阿里公共 DNS
- 223.6.6.6 # 阿里公共 DNS
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mindoc ywsj/mindoc:latest "/bin/bash /mindoc/s…" mindoc About an hour ago Up About an hour 0.0.0.0:8181->8181/tcp, [::]:8181->8181/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口(9180)防火墙就可以web端访问了
http://ip:8181
其他步骤参考以上NAS的内容
③《dockge上搭建》
直接复制docker-compose内容然后启动即可
绑定域名
如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区