name: hfb_jysh_dev services: mysql: image: mysql:8.4 container_name: jysh-mysql restart: unless-stopped command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWORD: rootsecret MYSQL_DATABASE: hfb_jysh MYSQL_USER: hfb MYSQL_PASSWORD: secret TZ: Asia/Shanghai ports: - "${DEV_MYSQL_PORT:-23306}: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: jysh-redis restart: unless-stopped ports: - "${DEV_REDIS_PORT:-26379}:6379" volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 minio: # minio/minio is no longer available on Docker Hub; Bitnami Legacy packages the same server binary. image: bitnamilegacy/minio:2025.7.23-debian-12-r5 container_name: jysh-minio restart: unless-stopped user: "0" entrypoint: ["/opt/bitnami/minio/bin/minio"] command: ["server", "/data", "--console-address", ":9001"] environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin TZ: Asia/Shanghai ports: - "${DEV_MINIO_API_PORT:-29090}:9000" - "${DEV_MINIO_CONSOLE_PORT:-29091}:9001" volumes: - minio_data_v2:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 10s timeout: 5s retries: 10 volumes: mysql_data: redis_data: minio_data_v2: name: hfb_jysh_dev_minio_data_v2