version: "1.0.1" services: redis: privileged: true image: redis:6-alpine profiles: ["all","local"] env_file: .env restart: always environment: REDISCLI_AUTH: ${REDIS_PASSWORD:-J98%FHF#9h@e88h9fre9} # volumes: # # Mount the redis data directory to the container. # - ./redis/data:/data # Set the redis password when startup redis server. command: redis-server --requirepass ${REDIS_PASSWORD:-J98%FHF#9h@e88h9fre9} ports: - "${EXPOSE_REDIS_PORT:-6379}:6379" healthcheck: test: [ 'CMD', 'redis-cli', 'ping' ] networks: - qmodel_net nginx: privileged: true image: nginx:1.24.0 restart: always profiles: [ "all" ] env_file: .env ports: - '${EXPOSE_NGINX_PORT:-80}:${NGINX_PORT:-80}' networks: - qmodel_net volumes: - ./nginx/dist:/usr/share/nginx - ./nginx/logs:/var/log/nginx - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/sites/:/etc/nginx/http_vhost/:ro dm8: image: ${QMODEL_HUB}/dm8:mixed profiles: [ "all", "schema","local" ,"qmodel-db"] env_file: .env privileged: true hostname: dm8 restart: always ports: - "35236:5236" volumes: - ./database/dm8/init-qmodel.sql:/home/dmdba/initdata/init-qmodel.sql - ./database/dm8/entrypoint.sh:/entrypoint.sh - ./database/dm8/entrypoint-arm64.sh:/usr/local/bin/docker-entrypoint.sh environment: - TZ=${TZ} - CASE_SENSITIVE=${CASE_SENSITIVE} - SYSDBA_PWD=${SYSDBA_PWD} - SYSAUDITOR_PWD=${SYSAUDITOR_PWD} - QMODEL_USER=${QMODEL_USER} - QMODEL_PWD=${QMODEL_PWD} healthcheck: test: [ "CMD-SHELL", "echo > /dev/tcp/127.0.0.1/5236" ] interval: 20s # 每 20 秒检测一次 timeout: 5s # 超过 5 秒算失败 retries: 10 # 连续 10 次失败算 unhealthy start_period: 1200s # 容忍 20 分钟内失败 networks: - qmodel_net