name: lehuo-local services: mysql: image: mysql:8.4.8 restart: unless-stopped environment: MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} TZ: Asia/Shanghai ports: - '3306:3306' volumes: - mysql-data:/var/lib/mysql healthcheck: test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD --silent'] interval: 10s timeout: 5s retries: 10 start_period: 30s mysql-test: image: mysql:8.4.8 profiles: ['test'] restart: unless-stopped environment: MYSQL_DATABASE: lehuo_test MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} TZ: Asia/Shanghai ports: - '3307:3306' volumes: - mysql-test-data:/var/lib/mysql healthcheck: test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 -u root -p$$MYSQL_ROOT_PASSWORD --silent'] interval: 10s timeout: 5s retries: 10 start_period: 30s redis: image: redis:7.4-alpine restart: unless-stopped command: ['redis-server', '--appendonly', 'yes'] ports: - '6379:6379' volumes: - redis-data:/data healthcheck: test: ['CMD', 'redis-cli', 'ping'] interval: 10s timeout: 5s retries: 5 minio: image: minio/minio:RELEASE.2025-09-07T16-13-09Z restart: unless-stopped command: server /data --console-address ':9001' environment: MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} MINIO_ROOT_USER: ${MINIO_ROOT_USER} ports: - '9000:9000' - '9001:9001' volumes: - minio-data:/data healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live'] interval: 10s timeout: 5s retries: 5 volumes: minio-data: mysql-data: mysql-test-data: redis-data: