services: mysql: image: mysql:8.4 container_name: hfb-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootsecret MYSQL_DATABASE: hfb_sys MYSQL_USER: hfb MYSQL_PASSWORD: secret TZ: Asia/Shanghai ports: - "${DEV_MYSQL_PORT:-13306}:3306" volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-prootsecret"] interval: 10s timeout: 5s retries: 10 redis: image: redis:7.4-alpine container_name: hfb-redis restart: unless-stopped ports: - "${DEV_REDIS_PORT:-16379}:6379" volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 minio: image: minio/minio:RELEASE.2025-09-07T16-13-09Z container_name: hfb-minio restart: unless-stopped command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin TZ: Asia/Shanghai ports: - "${DEV_MINIO_API_PORT:-19090}:9000" - "${DEV_MINIO_CONSOLE_PORT:-19091}:9001" volumes: - minio_data:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 10s timeout: 5s retries: 10 volumes: mysql_data: redis_data: minio_data: