docs: make a full docker-compose.yaml

This commit is contained in:
RockYang 2023-11-27 07:21:37 +08:00
parent 23b5ffa97d
commit 5bc07e6d57
8 changed files with 1589 additions and 73 deletions

1
docker/.gitignore vendored
View File

@ -2,3 +2,4 @@ mysql/data/*
mysql/logs/*
logs
static/*
redis/data/*

View File

@ -1,6 +1,6 @@
Listen = "0.0.0.0:5678"
ProxyURL = "" # 如 http://127.0.0.1:7777
MysqlDns = "root:12345678@tcp(172.22.11.200:3307)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local"
MysqlDns = "root:12345678@tcp(chatgpt-plus-mysql:3306)/chatgpt_plus?charset=utf8&parseTime=True&loc=Local"
StaticDir = "./static" # 静态资源的目录
StaticUrl = "/static" # 静态资源访问 URL
AesEncryptKey = ""
@ -15,9 +15,9 @@ WeChatBot = false
Password = "admin123" # 如果是生产环境的话,这里管理员的密码记得修改
[Redis] # redis 配置信息
Host = "localhost"
Host = "chatgpt-plus-redis"
Port = 6379
Password = ""
Password = "12345678"
DB = 0
[ApiConfig] # 微博热搜,今日头条等函数服务 API 配置,此为第三方插件服务,如需使用请联系作者开通
@ -67,7 +67,7 @@ WeChatBot = false
[XXLConfig] # xxl-job 配置,需要你部署 XXL-JOB 定时任务工具,用来定期清理未支付订单和清理过期 VIP如果你没有启用支付服务则该服务也无需启动
Enabled = false # 是否启用 XXL JOB 服务
ServerAddr = "http://172.22.11.47:8080/xxl-job-admin" # xxl-job-admin 管理地址
ServerAddr = "http://chatgpt-plus-xxl-job:8080/xxl-job-admin" # xxl-job-admin 管理地址
ExecutorIp = "172.22.11.47" # 执行器 IP 地址
ExecutorPort = "9999" # 执行器服务端口
AccessToken = "xxl-job-api-token" # 执行器 API 通信 token
@ -82,4 +82,4 @@ WeChatBot = false
PublicKey = "certs/alipay/appPublicCert.crt" # 应用公钥证书
AlipayPublicKey = "certs/alipay/alipayPublicCert.crt" # 支付宝公钥证书
RootCert = "certs/alipay/alipayRootCert.crt" # 支付宝根证书
NotifyURL = "http://r9it.com:6004/api/payment/alipay/notify" # 支付异步回调地址
NotifyURL = "http://r9it.com:6004/api/payment/alipay/notify" # 支付异步回调地址

View File

@ -35,12 +35,12 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://172.22.11.47:5678; # 这里改成后端服务的内网 IP 地址
proxy_pass http://chatgpt-plus-api:5678;
}
# 静态资源转发
location /static/ {
proxy_pass http://172.22.11.47:5678; # 这里改成后端服务的内网 IP 地址
proxy_pass http://chatgpt-plus-api:5678;
}
}
}

View File

@ -1,10 +1,39 @@
version: '3'
services:
# mysql
chatgpt-plus-mysql:
image: mysql:8.0.33
container_name: chatgpt-plus-mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSOL_ROOT_PASSWORD=12345678
ports:
- "3307:3306"
volumes :
- ./mysql/conf/my.cnf:/etc/mysql/my.cnf
- ./mysql/data:/var/lib/mysql
- ./mysql/logs:/var/log/mysql
- ./mysql/init.d:/docker-entrypoint-initdb.d/
# redis
chatgpt-plus-redis:
image: redis:6.0.16
restart: always
command: redis-server --requirepass 12345678
volumes :
- ./redis/data:/data
ports:
- "6380:6379"
# 后端 API 程序
chatgpt-plus-api:
image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v3.1.5
image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-api:v3.1.8.1
container_name: chatgpt-plus-api
restart: always
depends_on:
- chatgpt-plus-mysql
- chatgpt-plus-redis
environment:
- DEBUG=false
- LOG_LEVEL=info
@ -20,9 +49,11 @@ services:
# 前端应用
chatgpt-plus-web:
image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v3.1.5
image: registry.cn-shenzhen.aliyuncs.com/geekmaster/chatgpt-plus-web:v3.1.8.1
container_name: chatgpt-plus-web
restart: always
depends_on:
- chatgpt-plus-api
ports:
- "8080:8080"
volumes:

View File

@ -1,14 +0,0 @@
version: '3'
services:
minio:
image: minio/minio
container_name: minio
volumes:
- ./data:/data
ports:
- "9010:9000"
- "9011:9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio@pass
command: server /data --console-address ":9001" --address ":9000"

View File

@ -1,32 +0,0 @@
#
# The MySQL database server configuration file.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
[mysqld]
#
# * Basic Settings
#
#user = mysql
# pid-file = /var/run/mysqld/mysqld.pid
# socket = /var/run/mysqld/mysqld.sock
# port = 3306
# datadir = /var/lib/mysql
# If MySQL is running as a replication slave, this should be
# changed. Ref https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmpdir
# tmpdir = /tmp
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0

View File

@ -1,18 +0,0 @@
version: '3'
services:
mysql:
image: mysql:8.0.33
container_name: chatgpt-plus-mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=12345678
ports:
- "3307:3306"
volumes:
- ./conf/my.cnf:/etc/mysql/my.cnf
- ./data:/var/lib/mysql
- ./logs:/var/log/mysql

File diff suppressed because it is too large Load Diff