一、下载包

访问https://github.com/mindoc-org/mindoc/releases
2026-05月是https://github.com/mindoc-org/mindoc/releases/download/v2.2-beta.2/mindoc_linux_amd64.zip

二、解压安装

unzip mindoc_linux_amd64.zip
cp conf/app.conf.example conf/app.conf
./mindoc_linux_amd64 install

app.conf配置,使用的是 sqlite 数据库

appname = mindoc

#默认监听的网卡,为空则监听所有
httpaddr="${MINDOC_ADDR}"
httpport = "${MINDOC_PORT||8181}"
runmode = "${MINDOC_RUN_MODE||dev}"
sessionon = true
sessionname = mindoc_id
copyrequestbody = true
enablexsrf = "${MINDOC_ENABLE_XSRF||false}"
enable_iframe = "${MINDOC_ENABLE_IFRAME||false}"

#系统完整URL(http://doc.iminho.me),如果该项不设置,会从请求头中获取地址。
baseurl="${MINDOC_BASE_URL}"


#########代码高亮样式################
#样式演示地址:https://highlightjs.org/static/demo/
highlight_style="${MINDOC_HIGHLIGHT_STYLE||github}"

########配置文件自动加载##################
#大于0时系统会自动检测配置文件是否变动,变动后自动加载并生效,单位是秒。监听端口和数据库配置无效
config_auto_delay="${MINDOC_CONFIG_AUTO_DELAY||20}"

#发布pdf时候的默认发布者(项目填写了公司名称以公司名称为准)
publisher_def =

########Session储存方式##############

#默认Session生成Key的秘钥
beegoserversessionkey=NY1B$28pms12JM&c
sessionprovider="${MINDOC_SESSION_PROVIDER||file}"
sessionproviderconfig="${MINDOC_SESSION_PROVIDER_CONFIG||./runtime/session}"
#默认的过期时间
sessiongcmaxlifetime="${MINDOC_SESSION_MAX_LIFETIME||3600}"

#以文件方式储存
#sessionprovider=file
#sessionproviderconfig=./runtime/session

#以redis方式储存
#sessionprovider=redis
#sessionproviderconfig=127.0.0.1:6379

#以memcache方式储存
#sessionprovider=memcache
#sessionproviderconfig=127.0.0.1:11211

#以内存方式托管Session
#sessionprovider=memory

#时区设置
timezone = Asia/Shanghai

####################MySQL 数据库配置###########################
#支持MySQL,sqlite3,postgres三种数据库,如果是sqlite3 则 db_database 标识数据库的物理目录
db_adapter=sqlite3
db_host="${MINDOC_DB_HOST||127.0.0.1}"
db_port="${MINDOC_DB_PORT||3306}"
db_database=mindoc.db
db_username="${MINDOC_DB_USERNAME||root}"
db_password="${MINDOC_DB_PASSWORD||123456}"
#是否使用SSL,支持posgres,可选的值有:
#disable - No SSL
#require - Always SSL (skip verification)
#verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA)
#verify-full - Always SSL (verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate)
db_sslmode="${MINDOC_DB_SSLMODE||disable}"

####################sqlite3 数据库配置###########################
#db_adapter=sqlite3
#db_database=mindoc.db

#项目默认封面
cover=/static/images/book.jpg

#默认头像
avatar=/static/images/headimgurl.jpg

#默认阅读令牌长度
token_size=12

#上传文件的后缀,如果不限制后缀可以设置为 *
upload_file_ext=txt|doc|docx|xls|xlsx|ppt|pptx|pdf|7z|rar|jpg|jpeg|png|gif|mp4|webm|avi

#上传的文件大小限制
# - 如果不填写, 则默认1GB,如果希望超过1GB,必须带单位
# - 如果填写,单位可以是 TB、GB、MB、KB,不带单位表示字节
upload_file_size=10MB

####################邮件配置######################
#是否启用邮件
enable_mail="${MINDOC_ENABLE_MAIL||false}"
#每小时限制指定邮箱邮件发送次数
mail_number="${MINDOC_MAIL_NUMBER||5}"
#smtp服务用户名
smtp_user_name="${MINDOC_SMTP_USER_NAME||admin@iminho.me}"
#smtp服务器地址
smtp_host="${MINDOC_SMTP_HOST||smtp.163.com}""
#smtp密码
smtp_password="${MINDOC_SMTP_PASSWORD}"
#端口号
smtp_port="${MINDOC_SMTP_PORT||25}""
#发送邮件的显示名称
form_user_name="${MINDOC_FORM_USERNAME||admin@iminho.me}"
#邮件有效期30分钟
mail_expired="${MINDOC_EXPIRED||30}"
#加密类型NONE 无认证、SSL 加密、LOGIN 普通用户登录
secure="${MINDOC_MAIL_SECURE||LOGIN}"

###############配置导出项目###################
enable_export="${MINDOC_ENABLE_EXPORT||false}"
#同一个项目同时运行导出程序的并行数量,取值1-4之间,取值越大导出速度越快,越占用资源
export_process_num="${MINDOC_EXPORT_PROCESS_NUM||1}"

#并发导出的项目限制,指同一时间限制的导出项目数量,如果为0则不限制。设置的越大,越占用资源
export_limit_num="${MINDOC_EXPORT_LIMIT_NUM||5}"

#指同时等待导出的任务数量
export_queue_limit_num="${MINDOC_EXPORT_QUEUE_LIMIT_NUM||100}"

#导出项目的缓存目录配置
export_output_path="${MINDOC_EXPORT_OUTPUT_PATH||./runtime/cache}"

################百度地图密钥#################
baidumapkey=

################Active Directory/LDAP################
#是否启用ldap
ldap_enable=${MINDOC_LDAP_ENABLE||false}
#ldap协议(ldap/ldaps)
ldap_scheme="${MINDOC_LDAP_SCHEME||ldap}"
#ldap主机名
ldap_host="${MINDOC_LDAP_HOST||127.0.0.1}"
#ldap端口
ldap_port=${MINDOC_LDAP_PORT||389}
#ldap内哪个属性作为用户名
ldap_account="${MINDOC_LDAP_ACCOUNT||sAMAccountName}"
#ldap内哪个属性作为邮箱
ldap_mail="${MINDOC_LDAP_MAIL||mail}"
#搜索范围
ldap_base="${MINDOC_LDAP_BASE||dc=example,dc=com}"
#第一次绑定ldap用户dn
ldap_user="${MINDOC_LDAP_USER||cn=ldap helper,ou=example.com,dc=example,dc=com}"
#第一次绑定ldap用户密码
ldap_password="${MINDOC_LDAP_PASSWORD||xxx}"
#自动注册用户角色:0 超级管理员 /1 管理员/ 2 普通用户/ 3 只读用户
ldap_user_role=${MINDOC_LDAP_USER_ROLE||2}
#ldap搜索filter规则,AD服务器: objectClass=User, openldap服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindoc
ldap_filter="${MINDOC_LDAP_FILTER||objectClass=posixAccount}"

############# HTTP自定义接口登录 ################
http_login_url=
#md5计算的秘钥
http_login_secret=hzsp*THJUqwbCU%s
##################################

###############配置CDN加速##################
cdn="${MINDOC_CDN_URL}"
cdnjs="${MINDOC_CDN_JS_URL}"
cdncss="${MINDOC_CDN_CSS_URL}"
cdnimg="${MINDOC_CDN_IMG_URL}"

######################缓存配置###############################

#是否开启缓存,true 开启/false 不开启
cache="${MINDOC_CACHE||false}"

#缓存方式:memory/memcache/redis/file
cache_provider="${MINDOC_CACHE_PROVIDER||file}"

#当配置缓存方式为memory时,内存回收时间,单位是秒
cache_memory_interval="${MINDOC_CACHE_MEMORY_INTERVAL||120}"

#当缓存方式配置为file时,缓存的储存目录
cache_file_path="${MINDOC_CACHE_FILE_PATH||./runtime/cache/}"

#缓存文件后缀
cache_file_suffix="${MINDOC_CACHE_FILE_SUFFIX||.bin}"

#文件缓存目录层级
cache_file_dir_level="${MINDOC_CACHE_FILE_DIR_LEVEL||2}"

#文件缓存的默认过期时间
cache_file_expiry="${MINDOC_CACHE_FILE_EXPIRY||3600}"

#memcache缓存服务器地址
cache_memcache_host="${MINDOC_CACHE_MEMCACHE_HOST||127.0.0.1:11211}"

#redis服务器地址
cache_redis_host="${MINDOC_CACHE_REDIS_HOST||127.0.0.1:6379}"

#redis数据库索引
cache_redis_db="${MINDOC_CACHE_REDIS_DB||0}"

#redis服务器密码
cache_redis_password="${MINDOC_CACHE_REDIS_PASSWORD}"

#缓存键的前缀
cache_redis_prefix="${MINDOC_CACHE_REDIS_PREFIX||mindoc::cache}"


#########日志储存配置##############

#日志保存路径,在linux上,自动创建的日志文件请不要删除,否则将无法写入日志
log_path="${MINDOC_LOG_PATH||./runtime/logs}"

#每个文件保存的最大行数,默认值 1000000
log_maxlines="${MINDOC_LOG_MAX_LINES||1000000}"

# 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MB
log_maxsize="${MINDOC_LOG_MAX_SIZE}"

# 是否按照每天 logrotate,默认是 true
log_daily="${MINDOC_LOG_DAILY||true}"

# 文件最多保存多少天,默认保存 7 天
log_maxdays="${MINDOC_LOG_MAX_DAYS||30}"

# 日志保存的时候的级别,默认是 Trace 级别,可选值: Emergency/Alert/Critical/Error/Warning/Notice/Informational/Debug/Trace
log_level="${MINDOC_LOG_LEVEL||Alert}"

# 是否异步生成日志,默认是 true
log_is_async="${MINDOC_LOG_IS_ASYNC||TRUE}"

##########钉钉应用相关配置##############

# 企业钉钉ID
dingtalk_corpid="${MINDOC_DINGTALK_CORPID}"

# 钉钉AppKey
dingtalk_app_key="${MINDOC_DINGTALK_APPKEY}"

# 钉钉AppSecret
dingtalk_app_secret="${MINDOC_DINGTALK_APPSECRET}"

########企业微信登录配置##############

# 企业ID
workweixin_corpid="${MINDOC_WORKWEIXIN_CORPID}"

# 应用ID
workweixin_agentid="${MINDOC_WORKWEIXIN_AGENTID}"

# 应用密钥
workweixin_secret="${MINDOC_WORKWEIXIN_SECRET}"

# i18n config
i18n_list=zh-cn:简体中文|en-us:English|ru-ru:Русский
default_lang="zh-cn"

# MCP Server 功能
enable_mcp_server="${MINDOC_ENABLE_MCP_SERVER||false}"
mcp_api_key="${MINDOC_MCP_API_KEY||demo-mcp-api-key}"

四、设置开机启动

vi /etc/systemd/system/mindoc.service

[Unit]
Description=MinDoc Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/home/abc/minidoc2
ExecStart=/home/abc/minidoc2/mindoc_linux_amd64
Restart=always        # 崩溃自动重启
RestartSec=5
StandardOutput=append:/home/abc/minidoc2/mindoc.log
StandardError=append:/home/abc/minidoc2/mindoc.log

[Install]
WantedBy=multi-user.target

五、nginx配置

server
    {
        listen 80;
        #listen [::]:80;
        server_name lookjim.com www.lookjim.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /abc/defg/lookjim.com;

        include rewrite/none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;


# ==============================================
    # 核心:只允许直接访问 static 和 uploads 目录
    # ==============================================
    location ~ ^/(static|uploads)/ {
        # 这里填你 MinDoc 的实际静态文件根目录
        root /abc/defg/minidoc2;
        expires 7d;
        access_log off;
    }

    # ==============================================
    # 其他所有请求 → 转发到 MinDoc 8181
    # ==============================================
    location / {
        proxy_pass http://127.0.0.1:8181;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_connect_timeout 60s;
        proxy_read_timeout 300s;
    }



        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log off;
    }

重启

systemctl daemon-reload
systemctl enable mindoc
systemctl start mindoc

作者:admin  创建时间:2026-05-31 06:56
最后编辑:admin  更新时间:2026-06-04 07:30