169 lines
4.8 KiB
YAML
169 lines
4.8 KiB
YAML
# 命令执行 docker-compose up -d
|
||
name: chatgpt-env
|
||
version: '3.9'
|
||
# 安装开发环境
|
||
# 配置中心nacos:http://127.0.0.1:8848/nacos - 【账号:nacos 密码:nacos】
|
||
# 消息rocketmq:http://localhost:8080/#/ - 【账号:admin 密码:admin】
|
||
# 任务调度xxl-job-admin:http://127.0.0.1:9090/xxl-job-admin/ - 【账号:admin 密码:123456】
|
||
# 数据库mysql
|
||
# 缓存redis
|
||
services:
|
||
# # 注册中心 https://github.com/nacos-group/nacos-docker - 其他配置可参考(集群)
|
||
# # http://127.0.0.1:8848/nacos 【账号:nacos 密码:nacos】
|
||
# nacos:
|
||
# image: nacos/nacos-server:v2.2.3-slim
|
||
# container_name: nacos
|
||
# restart: always
|
||
# ports:
|
||
# - "8848:8848"
|
||
# - "9848:9848"
|
||
# - "9849:9849"
|
||
# environment:
|
||
# - PREFER_HOST_MODE=hostname
|
||
# - MODE=standalone
|
||
# - SPRING_DATASOURCE_PLATFORM=mysql
|
||
# - MYSQL_SERVICE_HOST=mysql
|
||
# - MYSQL_SERVICE_DB_NAME=nacos_config
|
||
# - MYSQL_SERVICE_PORT=3306
|
||
# - MYSQL_SERVICE_USER=root
|
||
# - MYSQL_SERVICE_PASSWORD=123456
|
||
# - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
||
# - NACOS_AUTH_IDENTITY_KEY=2222
|
||
# - NACOS_AUTH_IDENTITY_VALUE=2xxx
|
||
# - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789
|
||
# networks:
|
||
# - my-network
|
||
# depends_on:
|
||
# mysql:
|
||
# condition: service_healthy
|
||
#
|
||
# # http://127.0.0.1:9090/xxl-job-admin admin/123456 - 安装后稍等会访问即可
|
||
# # 官网镜像为 xuxueli/xxl-job-admin:2.4.0 但不支持ARM架构【需要自己打包】,所以找了一个 kuschzzp/xxl-job-aarch64:2.4.0 镜像支持 AMD/ARM
|
||
# xxl-job-admin:
|
||
# image: xuxueli/xxl-job-admin:2.4.0
|
||
# container_name: xxl-job-admin
|
||
# restart: always
|
||
# depends_on:
|
||
# mysql:
|
||
# condition: service_healthy
|
||
# ports:
|
||
# - "9090:9090"
|
||
# links:
|
||
# - mysql
|
||
# volumes:
|
||
# - ./data/logs:/data/applogs
|
||
# - ./data/xxl-job/:/xxl-job
|
||
# environment:
|
||
# - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/xxl_job?serverTimezone=UTC&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Shanghai
|
||
# - SPRING_DATASOURCE_USERNAME=root
|
||
# - SPRING_DATASOURCE_PASSWORD=123456
|
||
# - SERVER_PORT=9090
|
||
# networks:
|
||
# - my-network
|
||
#
|
||
# # MySQL 增加健康检测,避免
|
||
# mysql:
|
||
# image: mysql:8.0.32
|
||
# container_name: mysql
|
||
# hostname: mysql
|
||
# command: --default-authentication-plugin=mysql_native_password
|
||
# restart: always
|
||
# environment:
|
||
# TZ: Asia/Shanghai
|
||
# MYSQL_ROOT_PASSWORD: 123456
|
||
# MYSQL_USER: xfg
|
||
# MYSQL_PASSWORD: 123456
|
||
# networks:
|
||
# - my-network
|
||
# depends_on:
|
||
# - mysql-job-dbdata
|
||
# ports:
|
||
# - "13306:3306"
|
||
# volumes:
|
||
# - ./sql:/docker-entrypoint-initdb.d
|
||
# healthcheck:
|
||
# test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||
# interval: 5s
|
||
# timeout: 10s
|
||
# retries: 10
|
||
# start_period: 15s
|
||
# deploy:
|
||
# resources:
|
||
# limits:
|
||
# cpus: '1.00'
|
||
# memory: 512M
|
||
# volumes_from:
|
||
# - mysql-job-dbdata
|
||
#
|
||
# # 自动加载数据
|
||
# mysql-job-dbdata:
|
||
# image: alpine:3.18.2
|
||
# container_name: mysql-job-dbdata
|
||
# volumes:
|
||
# - /var/lib/mysql
|
||
#
|
||
# # Redis
|
||
# redis:
|
||
# image: redis:7.2.0
|
||
# container_name: redis
|
||
# restart: always
|
||
# hostname: redis
|
||
# ports:
|
||
# - 6379:6379
|
||
# volumes:
|
||
# - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
|
||
# command: redis-server /usr/local/etc/redis/redis.conf
|
||
# networks:
|
||
# - my-network
|
||
# healthcheck:
|
||
# test: [ "CMD", "redis-cli", "ping" ]
|
||
# interval: 10s
|
||
# timeout: 5s
|
||
# retries: 3
|
||
#
|
||
# # https://hub.docker.com/r/xuchengen/rocketmq
|
||
# # 注意修改项;
|
||
# # 01:data/rocketmq/conf/broker.conf 添加 brokerIP1=127.0.0.1
|
||
# # 02:data/console/config/application.properties server.port=9009 - 如果8080端口被占用,可以修改或者添加映射端口
|
||
# rocketmq:
|
||
# image: livinphp/rocketmq:5.1.0
|
||
# container_name: rocketmq
|
||
# ports:
|
||
# - 8080:8080
|
||
# - 9876:9876
|
||
# - 10909:10909
|
||
# - 10911:10911
|
||
# - 10912:10912
|
||
# volumes:
|
||
# - ./rocketmq/data:/home/app/data
|
||
# environment:
|
||
# TZ: "Asia/Shanghai"
|
||
# NAMESRV_ADDR: "rocketmq:9876"
|
||
|
||
nginx:
|
||
image: nginx
|
||
container_name: nginx
|
||
ports:
|
||
- 80:80
|
||
volumes:
|
||
- ./nginx/html:/usr/share/nginx/html
|
||
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
|
||
- ./nginx/conf.d:/etc/nginx/conf.d
|
||
extra_hosts:
|
||
- "host.docker.internal:host-gateway"
|
||
networks:
|
||
- my-network
|
||
depends_on:
|
||
- chatgpt-api
|
||
|
||
chatgpt-api:
|
||
image: kazusa8/chatgpt-api:1.0
|
||
container_name: chatgpt-api
|
||
ports:
|
||
- 8091:8091
|
||
networks:
|
||
- my-network
|
||
|
||
networks:
|
||
my-network:
|
||
driver: bridge |