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 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] networks: app_network: driver: bridge