Mrdoc
docker-compose.yaml
[root@jrt doc]# cat docker-compose.yaml
version: "3"
services:
doc:
build: .
image: jrt101/doc:latest
container_name: doc
restart: always
volumes:
- ./data/doc/config:/app/MrDoc/config # 请注意修改 /path/to/you/dir 为您要存储mrdoc数据的绝对路径.
- ./data/doc/media:/app/MrDoc/media # 同上
environment:
- TZ=Asia/Shanghai
expose:
- "10086"
depends_on:
- mysql
mysql:
image: mysql:5.7
container_name: mysql # 这里名字不要修改,否则无法连接数据库.如果修改,请注意自行更改mrdoc的配置文件.
restart: always
volumes:
- ./data/mysql:/var/lib/mysql # 请注意修改 /path/to/you/dir 为您要存储mysql数据的目录绝对路径.
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=jiao.123
- MYSQL_DATABASE=doc
expose:
- "3306"
ports:
- 9001:3306 # 数据库对外端口
command:
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
nginx:
restart: always
image: nginx:1.11.6-alpine
container_name: nginx
ports:
- 80:80
- 443:443
volumes:
- ./data/nginx/ssl:/etc/nginx/ssl
- ./data/nginx/log:/var/log/nginx
- ./data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
config.ini
[root@jrt config]# cat config.ini
[site]
# True表示开启站点调试模式,False表示关闭站点调试模式
debug = False
[database]
# engine,指定数据库类型,接受sqlite、mysql、oracle、postgresql
engine = mysql
# name表示数据库的名称
name = doc
# user表示数据库用户名
user = root
# password表示数据库用户密码
password = jiao.123
# host表示数据库主机地址
host = mysql
# port表示数据库端口
port= 3306
[selenium]
driver_path = /usr/lib/chromium/chromedriver
# 详细配置请查阅 https://www.mrdoc.fun/project-1/doc-190/
uwsgi.ini
[root@jrt config]# cat uwsgi.ini
[uwsgi]
master = true
processes = 1
threads = 2
chdir = /app/MrDoc
wsgi-file= /app/MrDoc/MrDoc/wsgi.py
http = 0.0.0.0:10086
logto = /app/MrDoc/log/uwsgi_error.log
chmod-socket = 660
vacuum = true
master = true
max-requests = 1000
nginx.conf
[root@jrt conf]# cat nginx.conf
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default backlog=2048;
server_name jrt.cn;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name jrt.cn;
client_max_body_size 500m;
ssl_certificate /etc/nginx/ssl/jrt.cn_bundle.pem;
ssl_certificate_key /etc/nginx/ssl/jrt.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://doc:10086;
}
}
}
文件树
[root@VM-4-9-centos doc]# tree -l
[root@jrt doc]# tree -l
.
├── data
│ ├── doc
│ │ ├── config
│ │ │ ├── config.ini
│ │ │ └── uwsgi.ini
│ │ └── media
│ │ ├── attachment
│ │ ├── file
│ │ │ └── redis.conf
│ │ ├── import_temp
│ │ ├── jrt
│ │ └── user_image
│ ├── mysql
│ └── nginx
│ ├── conf
│ │ └── nginx.conf
│ ├── log
│ │ ├── access.log
│ │ └── error.log
│ └── ssl
│ ├── jrt.cn_bundle.crt
│ ├── jrt.cn_bundle.pem
│ ├── jrt.cn.csr
│ └── jrt.cn.key
└── docker-compose.yaml