OL-LearnPlatform-Admin/compose.yaml
2025-07-19 16:49:35 +08:00

91 lines
2.2 KiB
YAML

services:
nginx:
build:
dockerfile: ./resources/docker/Dockerfile
target: gmanager-nginx
ports:
- 80:80
environment:
- NGINX_HOST=gmanager
- NGINX_PORT=80
volumes:
- ./resources/docker/nginx/gmanager.conf:/etc/nginx/conf.d/gmanager.conf
- ./resources/docker/nginx/nginx.conf:/etc/nginx/nginx.conf
depends_on:
mysql:
condition: service_healthy
gmanager-server:
condition: service_started
networks:
- gmanager
restart: on-failure
extra_hosts:
- "host.docker.internal:host-gateway"
mysql:
# mysql:5.7 linux/arm64 image is unavailable.
# image: mysql:8.0.42
image: mysql:8.4.0-oraclelinux8
container_name: gmanager-mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--tls_version="TLSv1.2,TLSv1.3"
--init-file /data/application/init.sql
--binlog_expire_logs_seconds=604800
# --default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
volumes:
- mysql_data:/var/lib/mysql
- ./resources/docker/init.sql:/data/application/init.sql
networks:
- gmanager
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-p123456"]
interval: 10s
timeout: 10s
retries: 3
restart: on-failure
redis:
image: redis:8.0.2
container_name: gmanager-redis
command: redis-server --requirepass 123456 --maxmemory 128mb --maxmemory-policy allkeys-lru
ports:
- 6379:6379
volumes:
- redis_data:/data
networks:
- gmanager
restart: on-failure
gmanager-server:
build:
dockerfile: ./resources/docker/Dockerfile
target: gmanager-server
container_name: gmanager-server
depends_on:
mysql:
condition: service_healthy
ports:
- 8000:8000
volumes:
- ./resources/docker/config/config.example.yaml:/app/config.yaml
networks:
- gmanager
restart: on-failure
volumes:
mysql_data:
driver: local
redis_data:
driver: local
networks:
gmanager:
driver: bridge