services: postgres: image: postgres:16-alpine ports: - "5432:5432" environment: POSTGRES_USER: seahaven POSTGRES_PASSWORD: seahaven POSTGRES_DB: seahaven_ap volumes: - seahaven_ap_pg:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U seahaven -d seahaven_ap"] interval: 5s timeout: 5s retries: 10 minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z command: server /data --console-address ":9001" ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: seahaven MINIO_ROOT_PASSWORD: seahavensecret volumes: - seahaven_ap_minio:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 5s timeout: 5s retries: 10 minio-init: image: minio/mc:RELEASE.2025-04-16T18-13-26Z depends_on: minio: condition: service_started entrypoint: > /bin/sh -c " until mc alias set local http://minio:9000 seahaven seahavensecret; do sleep 1; done; mc mb --ignore-existing local/seahaven-ap-documents; exit 0; " volumes: seahaven_ap_pg: seahaven_ap_minio: