0%

MinDoc接口文档在线管理系统


MySQL

1
2
3
4
5
6
7
8
9
docker pull mysql

docker run -p 3306:3306 --name mysql
\-v /Users/yangdong/docker/mysql/conf:/etc/mysql/conf.d
\-v /Users/yangdong/docker/mysql/logs:/var/log/mysql
\-v /Users/yangdong/docker/mysql/data:/var/lib/mysql
\-e MYSQL_ROOT_PASSWORD=123456
\-d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

1
CREATE DATABASE IF NOT EXISTS mindoc_db;

Network

1
2
3
docker network create netmindoc
docker network connect --alias mysql netmindoc mysql
docker network inspect netmindoc

MinDoc

1
2
3
4
5
6
7
8
9
10
docker pull ubuntu
docker run --name iubuntu -t -i -d -p 4100:22 ubuntu
docker exec -t -i iubuntu /bin/bash

apt-get update
apt-get install -y sudo vim git wget unzip calibre

apt-get clean
apt-get autoclean
apt-get autoremove
1
2
3
4
5
6
7
8
9
cd /home

wget https://github.com/mindoc-org/mindoc/releases/download/v2.1/mindoc_linux_amd64.zip

unzip mindoc_linux_amd64.zip -d mindoc
rm -rf mindoc_linux_amd64.zip

vi /etc/profileexport
export ZONEINFO=/home/mindoc/lib/time/zoneinfo.zip
1
2
3
4
5
6
7
docker commit iubuntu min-doc
docker save min-doc > min-doc.tar
docker load < min-doc.tar

# 配置虚拟网络
docker run --name min-doc -t -i -d -p 8181:8181 min-doc
docker exec -t -i min-doc /bin/bash
1
2
cd conf
vim app.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
appname = mindoc

#默认监听的网卡,为空则监听所有
httpaddr="${MINDOC_ADDR}"
httpport = "${MINDOC_PORT||8181}"
runmode = "${MINDOC_RUN_MODE||prod}"
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}"


########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两种数据库,如果是sqlite3 则 db_database 标识数据库的物理目录
# db_adapter="${MINDOC_DB_ADAPTER||sqlite3}"
# db_host="${MINDOC_DB_HOST||127.0.0.1}"
# db_port="${MINDOC_DB_PORT||3306}"
# db_database="${MINDOC_DB_DATABASE||./database/mindoc.db}"
# db_username="${MINDOC_DB_USERNAME||root}"
# db_password="${MINDOC_DB_PASSWORD||123456}"
db_adapter=mysql
db_host=mysql
db_port=3306
db_database=mindoc_db
db_username=root
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=*

#上传的文件大小限制,如果不填写,默认不限制,单位可以是 GB KB MB
upload_file_size=10GB

####################邮件配置######################
#是否启用邮件
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=false
#ldap主机名
ldap_host=ad.example.com
#ldap端口
ldap_port=3268
#ldap内哪个属性作为用户名
ldap_account=sAMAccountName
#ldap内哪个属性作为邮箱
ldap_mail=mail
#搜索范围
ldap_base=DC=example,DC=com
#第一次绑定ldap用户dn
ldap_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=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}"

# 钉钉登录默认只读账号
dingtalk_tmp_reader="${MINDOC_DINGTALK_READER}"

# 钉钉扫码登录Key
dingtalk_qr_key="${MINDOC_DINGTALK_QRKEY}"

# 钉钉扫码登录Secret
dingtalk_qr_secret="${MINDOC_DINGTALK_QRSECRET}"

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

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

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

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

# 通讯录密钥
workweixin_contact_secret="${MINDOC_WORKWEIXIN_CONTACT_SECRET}"

# i18n config
default_lang="zh-cn"
1
2
3
./mindoc_linux_amd64 install
chmod +x mindoc_linux_amd64
./mindoc_linux_amd64
1
2
http://localhost:8181/
admin / 123456 / 3069jiayou
1
2
3
4
5
6
sudo ufw status
sudo ufw status # 查看已经开启的端口
sudo ufw allow 8181 # 打开端口
sudo ufw reload # 重启防火墙
sudo ufw status # 查看一下端口是否已开放