mirror of
https://gitee.com/mao-peng/MangoTestingPlatform.git
synced 2025-12-06 11:59:15 +08:00
106 lines
2.6 KiB
YAML
106 lines
2.6 KiB
YAML
services:
|
|
db:
|
|
image: mysql:8.0.40-debian
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_USER: ${MYSQL_USER}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
ports:
|
|
- "${MYSQL_PORT}:3306"
|
|
volumes:
|
|
- /mango_data/mysql:/var/lib/mysql
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
networks:
|
|
app_network:
|
|
aliases: [db]
|
|
|
|
minio:
|
|
image: minio/minio:RELEASE.2024-12-18T13-15-44Z.fips
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${MINIO_API_PORT}:9000"
|
|
- "${MINIO_CONSOLE_PORT}:9001"
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
|
volumes:
|
|
- /mango_data/minio:/data
|
|
- /etc/localtime:/etc/localtime:ro
|
|
command: server /data --console-address ":${MINIO_CONSOLE_PORT}"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:${MINIO_API_PORT}/minio/health/live"]
|
|
interval: 5s
|
|
timeout: 10s
|
|
retries: 5
|
|
networks:
|
|
app_network:
|
|
aliases: [minio]
|
|
|
|
mango_server:
|
|
build:
|
|
context: ./MangoServer
|
|
dockerfile: Dockerfile
|
|
args:
|
|
DJANGO_ENV: ${DJANGO_ENV}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
minio:
|
|
condition: service_healthy
|
|
environment:
|
|
- DJANGO_SETTINGS_MODULE=src.settings
|
|
networks:
|
|
app_network:
|
|
aliases: [server]
|
|
hostname: server
|
|
command: >
|
|
sh -c "python manage.py migrate --noinput &&
|
|
uvicorn src.asgi:application --host 0.0.0.0 --port 8000 --workers 2"
|
|
mango-console:
|
|
build:
|
|
context: ./mango-console
|
|
dockerfile: Dockerfile
|
|
args:
|
|
VUE_ENV: ${VUE_ENV}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8001:80"
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
networks: [app_network]
|
|
|
|
mango_actuator:
|
|
build:
|
|
context: ./MangoActuator
|
|
dockerfile: Dockerfile
|
|
args:
|
|
EXECUTOR_TYPE: ${EXECUTOR_TYPE}
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
depends_on:
|
|
mango_server:
|
|
condition: service_started
|
|
networks:
|
|
app_network:
|
|
aliases: [actuator]
|
|
deploy:
|
|
restart_policy:
|
|
condition: any
|
|
delay: 15s
|
|
networks:
|
|
app_network:
|
|
driver: bridge |