剪藏#剪藏#有云转晴1

VPS 或者飞牛云 NAS 上用 Docker 部署一个简单好用的文档管理系统 - Mindoc

2025 年 10 月 5 日1 分钟
分享Twitter / XTelegram微博

VPS 或者飞牛云 NAS 上用 Docker 部署一个简单好用的文档管理系统 - Mindoc

Notion image

前言

在日常工作和学习中,我们经常需要管理大量文档,但很多文档管理系统都需要付费,或者依赖云端服务,存在数据安全和隐私风险。为了更高效、安全地管理文档,我们完全可以自己搭建一个私有化的文档管理系统。

Notion image

本文将以 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 的方式安装部署,简单便捷。

Notion image

准备条件

    1. 一台服务器或者 NAS 理论上其他 NAS 也可以使用。 本文演示环境为 飞牛云 NASVPS。 需要 VPS 的可以参考: 莱卡云官网 https://www.lcayun.com/aff/PQCSKOCK
    1. 本项目使用到的开源项目 https://github.com/mindoc-org/mindoc目前有 7.7k stars 更多功能或者二次修改可以访问 Gitee
    1. 域名(可选) 可以根据自己的需求绑定域名。

①《飞牛 NAS 上搭建》

新建项目:

mindoc

compose 配置如下:

JAVASCRIPT
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

接下来启动即可

Notion image

  • • 正常启动

  • • 第一次启动需要等待数据库初始化完成就可以

打开 飞牛云的 IP:8181(防火墙放开端口)即可访问。

Notion image

默认管理员的用户名和密码

JAVASCRIPT
admin
123456

⚠️ 请及时修改默认密码!

注意事项

文档的积累是个漫长的过程。 为了保证数据安全,可以定时备份目录 mindoc 避免文档丢失。

Notion image

补充:Docker 可用的镜像仓库

国内如果无法拉取镜像的可以使用:

②《VPS 上搭建》

一、Docker 环境部署

在 VPS 安装 docker 和 docker-compose

推荐直接用一键脚本

docker 安装脚本

JAVASCRIPT
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose 安装脚本

JAVASCRIPT
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 文件

JAVASCRIPT
mkdir mindoc; cd mindoc   # 创建一个目录,并进入此目录
vim docker-compose.yml
JAVASCRIPT
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

三、执行容器运行命令

JAVASCRIPT
docker-compose up -d   # 运行容器
docker-compose ps      # 查看是否开启成功

正常启动如下所示:

JAVASCRIPT
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 端访问了:

JAVASCRIPT
http://ip:8181

Notion image

其他步骤参考以上 NAS 的内容。

③《Dockge 上搭建》

直接复制 docker-compose 内容然后启动即可。

Notion image

绑定域名

如需绑定域名的自行绑定。 绑定域名可以参考: NginxProxyManager https://duan.yyzq.eu.org//npm-ch

绑定完域名配置好证书就可以用域名来访问了。

有任何问题可以直接留言或者问我 有任何问题可以直接留言或者问我 有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!

Notion image

飞牛云NAS或者VPS部署KatelyaTV-可配合TVBOX使用

VPS或者飞牛云NAS上用Docker部署一个界面超级酷炫的前端音乐播放器feishin

Docker搭建一个轻量级开源网盘项目-filebrowser

原文地址: https://mp.weixin.qq.com/s?__biz=MzkwMDY3NTc0OA==&mid=2247487564&idx=1&sn=b7d54bfbff8b992a0bac99690fcfb9d4&chksm=c1fa199cbf97e733ba174ef5d9bafce0e964f719629a2e7cd52114dcc51a8daa4767ccf5b53b&mpshare=1&scene=1&srcid=1005WNne93gzIAUVwHaxQ2C3&sharer_shareinfo=3fa64fdc5833bcaf0bf6e280f5af8a64&sharer_shareinfo_first=3fa64fdc5833bcaf0bf6e280f5af8a64#rd

相关文章