MinDoc 的配置文件是 ini 格式。支持从环境变量中读取配置,例如:

  1. httpport="${MINDOC_PORT||8181}"

系统会优先从环境变量 MINDOC_PORT 中读取端口号,如果不存在,则默认使用8181端口。在使用 Docker 部署时,可以不用修改配置文件,直接传递环境变量即可。如果非 Docker 部署,又没有使用环境变量,可直接设置值即可:httpport=8181

详细配置如下:

  1. appname = mindoc
  2. #默认监听的网卡,为空则监听所有
  3. httpaddr="${MINDOC_ADDR}"
  4. httpport = "${MINDOC_PORT||8181}"
  5. runmode = "${MINDOC_RUN_MODE||dev}"
  6. sessionon = true
  7. sessionname = mindoc_id
  8. copyrequestbody = true
  9. #系统完整 URL(http://doc.iminho.me),如果该项不设置,会从请求头中获取地址。
  10. baseurl="${MINDOC_BASE_URL}"
  11. #########代码高亮样式################
  12. #样式演示地址:https://highlightjs.org/static/demo/
  13. highlight_style="${MINDOC_HIGHLIGHT_STYLE||github}"
  14. ########配置文件自动加载##################
  15. #大于0时系统会自动检测配置文件是否变动,变动后自动加载并生效,单位是秒。监听端口和数据库配置无效
  16. config_auto_delay="${MINDOC_CONFIG_AUTO_DELAY||20}"
  17. ########Session 储存方式##############
  18. #默认 Session 生成 Key 的秘钥
  19. beegoserversessionkey=NY1B$28pms12JM&c
  20. sessionprovider="${MINDOC_SESSION_PROVIDER||file}"
  21. sessionproviderconfig="${MINDOC_SESSION_PROVIDER_CONFIG||./runtime/session}"
  22. #默认的过期时间
  23. sessiongcmaxlifetime="${MINDOC_SESSION_MAX_LIFETIME||3600}"
  24. #以文件方式储存
  25. #sessionprovider=file
  26. #sessionproviderconfig=./runtime/session
  27. #以 redis 方式储存
  28. #sessionprovider=redis
  29. #sessionproviderconfig=127.0.0.1:6379
  30. #以 memcache 方式储存
  31. #sessionprovider=memcache
  32. #sessionproviderconfig=127.0.0.1:11211
  33. #以内存方式托管 Session
  34. #sessionprovider=memory
  35. #时区设置
  36. timezone = Asia/Shanghai
  37. ####################MySQL 数据库配置###########################
  38. #支持 MySQL 和 sqlite3 两种数据库,如果是 sqlite3 则 db_database 标识数据库的物理目录
  39. db_adapter="${MINDOC_DB_ADAPTER||mysql}"
  40. db_host="${MINDOC_DB_HOST||127.0.0.1}"
  41. db_port="${MINDOC_DB_PORT||3306}"
  42. db_database="${MINDOC_DB_DATABASE||mindoc_db}"
  43. db_username="${MINDOC_DB_USERNAME||root}"
  44. db_password="${MINDOC_DB_PASSWORD||123456}"
  45. ####################sqlite3 数据库配置###########################
  46. #db_adapter=sqlite3
  47. #db_database=./database/mindoc.db
  48. #项目默认封面
  49. cover=/static/images/book.jpg
  50. #默认头像
  51. avatar=/static/images/headimgurl.jpg
  52. #默认阅读令牌长度
  53. token_size=12
  54. #上传文件的后缀,如果不限制后缀可以设置为 *
  55. upload_file_ext=txt|doc|docx|xls|xlsx|ppt|pptx|pdf|7z|rar|jpg|jpeg|png|gif
  56. #上传的文件大小限制,如果不填写,默认不限制,单位可以是 GB KB MB
  57. upload_file_size=10MB
  58. ####################邮件配置######################
  59. #是否启用邮件
  60. enable_mail="${MINDOC_ENABLE_MAIL||false}"
  61. #每小时限制指定邮箱邮件发送次数
  62. mail_number="${MINDOC_MAIL_NUMBER||5}"
  63. #smtp 服务用户名
  64. smtp_user_name="${MINDOC_SMTP_USER_NAME||admin@iminho.me}"
  65. #smtp 服务器地址
  66. smtp_host="${MINDOC_SMTP_HOST||smtp.163.com}""
  67. #smtp 密码
  68. smtp_password="${MINDOC_SMTP_PASSWORD}"
  69. #端口号
  70. smtp_port="${MINDOC_SMTP_PORT||25}""
  71. #发送邮件的显示名称
  72. form_user_name="${MINDOC_FORM_USERNAME||admin@iminho.me}"
  73. #邮件有效期30分钟
  74. mail_expired="${MINDOC_EXPIRED||30}"
  75. #加密类型 NONE 无认证、SSL 加密、LOGIN 普通用户登录
  76. secure="${MINDOC_MAIL_SECURE||LOGIN}"
  77. ###############配置导出项目###################
  78. enable_export="${MINDOC_ENABLE_EXPORT||false}"
  79. #同一个项目同时运行导出程序的并行数量,取值1-4之间,取值越大导出速度越快,越占用资源
  80. export_process_num="${MINDOC_EXPORT_PROCESS_NUM||1}"
  81. #并发导出的项目限制,指同一时间限制的导出项目数量,如果为0则不限制。设置的越大,越占用资源
  82. export_limit_num="${MINDOC_EXPORT_LIMIT_NUM||5}"
  83. #指同时等待导出的任务数量
  84. export_queue_limit_num="${MINDOC_EXPORT_QUEUE_LIMIT_NUM||100}"
  85. #导出项目的缓存目录配置
  86. export_output_path="${MINDOC_EXPORT_OUTPUT_PATH||./runtime/cache}"
  87. ################百度地图密钥#################
  88. baidumapkey=
  89. ################Active Directory/LDAP################
  90. #是否启用 ldap
  91. ldap_enable=false
  92. #ldap 主机名
  93. ldap_host=ad.example.com
  94. #ldap 端口
  95. ldap_port=3268
  96. #ldap 内哪个属性作为用户名
  97. ldap_attribute=sAMAccountName
  98. #搜索范围
  99. ldap_base=DC=example,DC=com
  100. #第一次绑定 ldap 用户 dn
  101. ldap_user=CN=ldap helper,OU=example.com,DC=example,DC=com
  102. #第一次绑定 ldap 用户密码
  103. ldap_password=superSecret
  104. #自动注册用户角色:0 超级管理员 /1 管理员/ 2 普通用户
  105. ldap_user_role=2
  106. #ldap 搜索 filter 规则,AD 服务器: objectClass=User, openldap 服务器: objectClass=posixAccount ,也可以定义为其他属性,如: title=mindoc
  107. ldap_filter=objectClass=posixAccount
  108. ###############配置 CDN 加速##################
  109. cdn="${MINDOC_CDN_URL}"
  110. cdnjs="${MINDOC_CDN_JS_URL}"
  111. cdncss="${MINDOC_CDN_CSS_URL}"
  112. cdnimg="${MINDOC_CDN_IMG_URL}"
  113. ######################缓存配置###############################
  114. #是否开启缓存,true 开启 / false 不开启
  115. cache="${MINDOC_CACHE||false}"
  116. #缓存方式:memory/memcache/redis/file
  117. cache_provider="${MINDOC_CACHE_PROVIDER||memory}"
  118. #当配置缓存方式为 memory 时,内存回收时间,单位是秒
  119. cache_memory_interval="${MINDOC_CACHE_MEMORY_INTERVAL||120}"
  120. #当缓存方式配置为 file 时,缓存的储存目录
  121. cache_file_path="${MINDOC_CACHE_FILE_PATH||./runtime/cache/}"
  122. #缓存文件后缀
  123. cache_file_suffix="${MINDOC_CACHE_FILE_SUFFIX||.bin}"
  124. #文件缓存目录层级
  125. cache_file_dir_level="${MINDOC_CACHE_FILE_DIR_LEVEL||2}"
  126. #文件缓存的默认过期时间
  127. cache_file_expiry="${MINDOC_CACHE_FILE_EXPIRY||3600}"
  128. #memcache 缓存服务器地址
  129. cache_memcache_host="${MINDOC_CACHE_MEMCACHE_HOST||127.0.0.1:11211}"
  130. #redis 服务器地址
  131. cache_redis_host="${MINDOC_CACHE_REDIS_HOST||127.0.0.1:6379}"
  132. #redis 数据库索引
  133. cache_redis_db="${MINDOC_CACHE_REDIS_DB||0}"
  134. #redis 服务器密码
  135. cache_redis_password="${MINDOC_CACHE_REDIS_PASSWORD}"
  136. #缓存键的前缀
  137. cache_redis_prefix="${MINDOC_CACHE_REDIS_PREFIX||mindoc::cache}"
  138. #########日志储存配置##############
  139. #日志保存路径,在 linux 上,自动创建的日志文件请不要删除,否则将无法写入日志
  140. log_path="${MINDOC_LOG_PATH||./runtime/logs}"
  141. #每个文件保存的最大行数,默认值 1000000
  142. log_maxlines="${MINDOC_LOG_MAX_LINES||1000000}"
  143. # 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MB
  144. log_maxsize="${MINDOC_LOG_MAX_SIZE}"
  145. # 是否按照每天 logrotate,默认是 true
  146. log_daily="${MINDOC_LOG_DAILY||true}"
  147. # 文件最多保存多少天,默认保存 7 天
  148. log_maxdays="${MINDOC_LOG_MAX_DAYS||30}"
  149. # 日志保存的时候的级别,默认是 Trace 级别,可选值: Emergency/Alert/Critical/Error/Warning/Notice/Informational/Debug/Trace
  150. log_level="${MINDOC_LOG_LEVEL||Trace}"
  151. # 是否异步生成日志,默认是 true
  152. log_is_async="${MINDOC_LOG_IS_ASYNC||TRUE}"