MinDoc 的配置文件是 ini 格式。支持从环境变量中读取配置,例如:
httpport="${MINDOC_PORT||8181}"
系统会优先从环境变量 MINDOC_PORT 中读取端口号,如果不存在,则默认使用8181端口。在使用 Docker 部署时,可以不用修改配置文件,直接传递环境变量即可。如果非 Docker 部署,又没有使用环境变量,可直接设置值即可:httpport=8181。
详细配置如下:
appname = mindoc#默认监听的网卡,为空则监听所有httpaddr="${MINDOC_ADDR}"httpport = "${MINDOC_PORT||8181}"runmode = "${MINDOC_RUN_MODE||dev}"sessionon = truesessionname = mindoc_idcopyrequestbody = true#系统完整 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}"########Session 储存方式###############默认 Session 生成 Key 的秘钥beegoserversessionkey=NY1B$28pms12JM&csessionprovider="${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 两种数据库,如果是 sqlite3 则 db_database 标识数据库的物理目录db_adapter="${MINDOC_DB_ADAPTER||mysql}"db_host="${MINDOC_DB_HOST||127.0.0.1}"db_port="${MINDOC_DB_PORT||3306}"db_database="${MINDOC_DB_DATABASE||mindoc_db}"db_username="${MINDOC_DB_USERNAME||root}"db_password="${MINDOC_DB_PASSWORD||123456}"####################sqlite3 数据库配置############################db_adapter=sqlite3#db_database=./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#上传的文件大小限制,如果不填写,默认不限制,单位可以是 GB KB MBupload_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#################是否启用 ldapldap_enable=false#ldap 主机名ldap_host=ad.example.com#ldap 端口ldap_port=3268#ldap 内哪个属性作为用户名ldap_attribute=sAMAccountName#搜索范围ldap_base=DC=example,DC=com#第一次绑定 ldap 用户 dnldap_user=CN=ldap helper,OU=example.com,DC=example,DC=com#第一次绑定 ldap 用户密码ldap_password=superSecret#自动注册用户角色:0 超级管理员 /1 管理员/ 2 普通用户ldap_user_role=2#ldap 搜索 filter 规则,AD 服务器: objectClass=User, openldap 服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindocldap_filter=objectClass=posixAccount###############配置 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/filecache_provider="${MINDOC_CACHE_PROVIDER||memory}"#当配置缓存方式为 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}"#每个文件保存的最大行数,默认值 1000000log_maxlines="${MINDOC_LOG_MAX_LINES||1000000}"# 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MBlog_maxsize="${MINDOC_LOG_MAX_SIZE}"# 是否按照每天 logrotate,默认是 truelog_daily="${MINDOC_LOG_DAILY||true}"# 文件最多保存多少天,默认保存 7 天log_maxdays="${MINDOC_LOG_MAX_DAYS||30}"# 日志保存的时候的级别,默认是 Trace 级别,可选值: Emergency/Alert/Critical/Error/Warning/Notice/Informational/Debug/Tracelog_level="${MINDOC_LOG_LEVEL||Trace}"# 是否异步生成日志,默认是 truelog_is_async="${MINDOC_LOG_IS_ASYNC||TRUE}"
