services: postgres: image: pgvector/pgvector:0.8.0-pg17 environment: POSTGRES_USER: buildflow POSTGRES_PASSWORD: buildflow POSTGRES_DB: postgres ports: - "127.0.0.1::5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U buildflow -d postgres"] interval: 2s timeout: 5s retries: 30 volumes: - postgres-data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "127.0.0.1::6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 2s timeout: 5s retries: 30 volumes: - redis-data:/data mongo: image: mongo:7 environment: MONGO_INITDB_ROOT_USERNAME: buildflow MONGO_INITDB_ROOT_PASSWORD: buildflow ports: - "127.0.0.1::27017" healthcheck: test: - CMD-SHELL - >- mongosh --quiet --host 127.0.0.1 --port 27017 -u buildflow -p buildflow --authenticationDatabase admin --eval "quit(db.adminCommand('ping').ok ? 0 : 1)" interval: 2s timeout: 5s retries: 30 volumes: - mongo-data:/data/db minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: buildflowminio MINIO_ROOT_PASSWORD: buildflowminiosecret ports: - "127.0.0.1::9000" healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:9000/minio/health/live >/dev/null"] interval: 2s timeout: 5s retries: 30 volumes: - minio-data:/data volumes: postgres-data: redis-data: mongo-data: minio-data: