name: atlas-seller-kit services: postgres: image: postgres:18.6-alpine environment: POSTGRES_USER: ${POSTGRES_ADMIN_USER:-atlas_admin} POSTGRES_PASSWORD: ${POSTGRES_ADMIN_PASSWORD:-change-me-local-only} POSTGRES_DB: ${POSTGRES_DB:-atlas} ATLAS_MIGRATOR_PASSWORD: ${ATLAS_MIGRATOR_PASSWORD:-change-me-local-only} ATLAS_APP_PASSWORD: ${ATLAS_APP_PASSWORD:-change-me-local-only} ports: - '${POSTGRES_PORT:-5432}:5432' volumes: # PostgreSQL 18 将集群数据放在版本化子目录,volume 必须挂到父目录。 - postgres-data:/var/lib/postgresql - ./postgres/init:/docker-entrypoint-initdb.d:ro healthcheck: test: ['CMD-SHELL', 'pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB'] interval: 5s timeout: 5s retries: 20 redis: image: redis:7.4.11-alpine3.21 ports: - '6379:6379' healthcheck: test: ['CMD', 'redis-cli', 'ping'] interval: 5s timeout: 5s retries: 20 minio: image: minio/minio:RELEASE.2025-09-07T16-13-09Z command: server /data --console-address ':9001' environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-atlas_minio_local} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-change-me-local-only} ports: - '${MINIO_PORT:-9000}:9000' - '${MINIO_CONSOLE_PORT:-9001}:9001' volumes: - minio-data:/data volumes: postgres-data: minio-data: