services: postgresql: image: bitnami/postgresql:17 # https://hub.docker.com/r/bitnami/postgresql container_name: hair-keeper-dev-pg restart: always ports: - "${POSTGRESQL_PORT}:5432" environment: POSTGRESQL_USERNAME: ${POSTGRESQL_USERNAME} POSTGRESQL_PASSWORD: ${POSTGRESQL_PASSWORD} POSTGRESQL_INITDB_ARGS: "--encoding=UTF-8 --locale=C" volumes: - hair_keeper_postgresql_data:/bitnami/postgresql redis: image: redis:8-alpine # https://hub.docker.com/_/redis container_name: hair-keeper-dev-redis ports: - "${REDIS_PORT}:6379" command: redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes volumes: - hair_keeper_redis_data:/data restart: always minio: image: minio/minio:RELEASE.2025-07-23T15-54-02Z container_name: hair-keeper-dev-minio ports: - "${MINIO_API_PORT}:9000" # API端口 - "${MINIO_CONSOLE_PORT}:9001" # Console端口 environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} MINIO_SERVER_URL: ${MINIO_SERVER_URL} volumes: - hair_keeper_minio_data:/data command: server /data --console-address ":9001" restart: always volumes: hair_keeper_postgresql_data: hair_keeper_redis_data: hair_keeper_minio_data: