一款针对IT团队开发的简单好用的文档管理系统

目录

[MinDoc 简介](#MinDoc 简介)

演示站点&文档:

常规编译

[旧版本运行 可更新部分数据库配置](#旧版本运行 可更新部分数据库配置)

Linux系统中不依赖gLibC的编译方式

[安装 musl-gcc](#安装 musl-gcc)

[使用 musl-gcc 编译 mindoc](#使用 musl-gcc 编译 mindoc)

[Windows 上后台运行](#Windows 上后台运行)

使用Docker部署

[举个栗子-当前(公开)镜像(信息页面: https://cr.console.aliyun.com/images/cn-hangzhou/mindoc-org/mindoc/detail , 需要登录阿里云账号才可访问列表)](#举个栗子-当前(公开)镜像(信息页面: https://cr.console.aliyun.com/images/cn-hangzhou/mindoc-org/mindoc/detail , 需要登录阿里云账号才可访问列表))

Windows

Linux、Mac

举个栗子-更多环境变量示例(镜像已过期,仅供参考,请以当前镜像为准)

dockerfile内容参考

[docker-compose 一键安装](#docker-compose 一键安装)

MCP服务器对接指导

项目截图

[使用的技术(TODO: 最新技术栈整理中,使用的第三方库升级中)](#使用的技术(TODO: 最新技术栈整理中,使用的第三方库升级中))

主要功能


MinDoc 简介

MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。

MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发。可以方便用户部署和实用。

开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。

可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。

演示站点&文档:

如果你的服务器上没有安装golang程序请手动设置一个环境变量如下:键名为 ZONEINFO,值为MinDoc跟目录下的/lib/time/zoneinfo.zip 。

更多信息请查看手册: MinDoc 使用手册

对于没有Golang使用经验的用户,可以从 https://github.com/mindoc-org/mindoc/releases 这里下载编译完的程序。

如果有Golang开发经验,建议通过编译安装,要求golang版本不小于1.15.1(需支持CGOgo modimport _ "time/tzdata")(推荐Go版本为1.18.1)。

注意: CentOS7上GLibC版本低,常规编译版本不能使用。需要自行源码编译,或使用使用musl编译版本。

常规编译

复制代码
# 克隆源码
git clone https://github.com/mindoc-org/mindoc.git
# go包安装
go mod tidy -v
# 编译(sqlite需要CGO支持)
go build -ldflags "-w" -o mindoc main.go
# 数据库初始化(此步骤执行之前,需配置`conf/app.conf`)
./mindoc install
# 执行
./mindoc
# 开发阶段运行
bee run

旧版本运行 可更新部分数据库配置

复制代码
./mindoc update

MinDoc 如果使用MySQL储存数据,则编码必须是utf8mb4_general_ci。请在安装前,把数据库配置填充到项目目录下的 conf/app.conf 中。

如果使用 SQLite 数据库,则直接在配置文件中配置数据库路径即可.

如果conf目录下不存在 app.conf 请重命名 app.conf.exampleapp.conf

默认程序会自动初始化一个超级管理员用户:admin 密码:123456 。请登录后重新设置密码。

Linux系统中不依赖gLibC的编译方式

安装 musl-gcc

复制代码
wget -c http://musl.libc.org/releases/musl-1.2.2.tar.gz
tar -xvf musl-1.2.2.tar.gz
cd musl-1.2.2
./configure
make
sudo make install

使用 musl-gcc 编译 mindoc

复制代码
go mod tidy -v
export GOARCH=amd64
export GOOS=linux
# 设置使用musl-gcc
export CC=/usr/local/musl/bin/musl-gcc
# 设置版本
export TRAVIS_TAG=temp-musl-v`date +%y%m%d`
go build -v -o mindoc_linux_musl_amd64 -ldflags="-linkmode external -extldflags '-static' -w -X 'github.com/mindoc-org/mindoc/conf.VERSION=$TRAVIS_TAG' -X 'github.com/mindoc-org/mindoc/conf.BUILD_TIME=`date`' -X 'github.com/mindoc-org/mindoc/conf.GO_VERSION=`go version`'"
# 验证
./mindoc_linux_musl_amd64 version

Windows 上后台运行

使用 mindoc-daemon

复制代码
#邮件配置-示例
#是否启用邮件
enable_mail=true
#smtp服务器的账号
smtp_user_name=admin@iminho.me
#smtp服务器的地址
smtp_host=smtp.ym.163.com
#密码
smtp_password=1q2w3e__ABC
#端口号
smtp_port=25
#邮件发送人的地址
form_user_name=admin@iminho.me
#邮件有效期30分钟
mail_expired=30

使用Docker部署

如果是Docker用户,可参考项目内置的Dockerfile文件自行编译镜像(编译命令见Dockerfile文件底部注释,仅供参考)。

在启动镜像时需要提供如下的常用环境变量(全部支持的环境变量请参考: conf/app.conf.example):

复制代码
DB_ADAPTER                  指定DB类型(默认为sqlite)
MYSQL_PORT_3306_TCP_ADDR    MySQL地址
MYSQL_PORT_3306_TCP_PORT    MySQL端口号
MYSQL_INSTANCE_NAME         MySQL数据库名称
MYSQL_USERNAME              MySQL账号
MYSQL_PASSWORD              MySQL密码
HTTP_PORT                   程序监听的端口号
MINDOC_ENABLE_EXPORT        开启导出(默认为false)
举个栗子-当前(公开)镜像(信息页面: https://cr.console.aliyun.com/images/cn-hangzhou/mindoc-org/mindoc/detail , 需要登录阿里云账号才可访问列表)
Windows
复制代码
set MINDOC=//d/mindoc
docker run -it --name=mindoc --restart=always -v "%MINDOC%/conf":"/mindoc/conf" -p 8181:8181 -e MINDOC_ENABLE_EXPORT=true -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
Linux、Mac
复制代码
export MINDOC=/home/ubuntu/mindoc-docker
docker run -it --name=mindoc --restart=always -v "${MINDOC}/conf":"/mindoc/conf" -p 8181:8181 -e MINDOC_ENABLE_EXPORT=true -d registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
举个栗子-更多环境变量示例(镜像已过期,仅供参考,请以当前镜像为准)
复制代码
docker run -p 8181:8181 --name mindoc -e DB_ADAPTER=mysql -e MYSQL_PORT_3306_TCP_ADDR=10.xxx.xxx.xxx -e MYSQL_PORT_3306_TCP_PORT=3306 -e MYSQL_INSTANCE_NAME=mindoc -e MYSQL_USERNAME=root -e MYSQL_PASSWORD=123456 -e httpport=8181 -d daocloud.io/lifei6671/mindoc:latest
dockerfile内容参考

docker-compose 一键安装

  1. 修改配置文件 修改docker-compose.yml中的配置信息,主要修改volumes节点,将宿主机的两个目录映射到容器内。 environment节点,配置自己的环境变量。

  2. 一键完成所有环境搭建

    docker-compose up -d

  3. 浏览器访问

    http://localhost:8181/

    整个部署完成了

  4. 常用命令参考

    • 启动

      docker-compose up -d

    • 停止

      docker-compose stop

    • 重启

      docker-compose restart

    • 停止删除容器,释放所有资源

      docker-compose down

    • 删除并重新创建

      docker-compose -f docker-compose.yml down && docker-compose up -d

      更多 docker-compose 的使用相关的内容 请查看官网文档或百度

MCP服务器对接指导
  1. 请在配置文件中启用MCP服务器功能 在配置文件app.conf中添加或修改为如下内容:

    MCP Server 功能

    enable_mcp_server="{MINDOC_ENABLE_MCP_SERVER||true}" mcp_api_key="{MINDOC_MCP_API_KEY||demo-mcp-api-key}"

说明: enable_mcp_server为是否启用MCP服务器功能,默认为true。 mcp_api_key 为MCP服务器的API密钥,示例配置中默认为demo-mcp-api-key,可根据需求自行修改。

  1. 在Dify等AI应用或其他可调用MCP服务器的项目配置中添加如下Mindoc配置

    {
    "mindoc": {
    "transport": "streamable_http",
    "url": "http://127.0.0.1:8181/mcp/?api_key=demo-mcp-api-key",
    "headers":{},
    "timeout":600
    }
    }

说明: transport为传输方式,目前支持streamable_httpurl为Mindoc的MCP服务地址,示例配置中Endpoint默认为http://127.0.0.1:8181,默认的API密钥为demo-mcp-api-key,可自行修改为对接时项目实际使用的Endpoint和API密钥。

项目截图

创建项目

项目列表

项目概述

项目成员

项目设置

基于Editor.md开发的Markdown编辑器

基于wangEditor开发的富文本编辑器

项目预览

超级管理员后台

使用的技术(TODO: 最新技术栈整理中,使用的第三方库升级中)

主要功能

  • 项目管理,可以对项目进行编辑更改,成员添加, 项目排序等。
  • 文档管理,添加和删除文档等。
  • 评论管理,可以管理文档评论和自己发布的评论。
  • 用户管理,添加和禁用用户,个人资料更改等。
  • 用户权限管理 , 实现用户角色的变更。
  • 项目加密,可以设置项目公开状态,私有项目需要通过Token访问。
  • 站点配置,多语言切换, 可开启匿名访问、验证码等。
相关推荐
三无推导12 小时前
《OpenHands 安装部署教程:用 Docker 在本地快速跑通开源 AI 编码助手》
人工智能·python·docker·性能优化·开源·github
oort12312 小时前
VLStream 视频 AI 融合平台介绍(2026 全开源版)
人工智能·开源·音视频
容器魔方13 小时前
Karmada 用户组再迎新成员,Wellhub 正式加入!
人工智能·云原生·容器·开源
艺舟先生13 小时前
开源agent源码架构分析之claude(一)
人工智能·架构·开源
赛博李同学AI手记13 小时前
开源一个Claude Code多模型管理工具ccm,可以方便地使用多个模型做不同的事情
开源·ccm·calude code
AI2中文网13 小时前
App Inventor接入Supabase:开源免费的后端新选择
开源·app inventor
darkb1rd1 天前
bumblebee:供应链安全本地扫描实战指南
开源·github·好物分享
冬奇Lab1 天前
一天一个开源项目(第111篇):Understand Anything - 把代码库变成可探索知识图谱的 AI 引擎
人工智能·开源·llm
plainGeekDev1 天前
Glide 该换了?Coil:Kotlin 时代的图片加载库
android·开源·kotlin
阿里云云原生1 天前
让 AI 读懂企业世界:UModel 对象图语义运行时开源,打造 AI 时代的“数据方言”翻译官
开源