services: minio: # minio/minio:latest as of 2026-02-10 image: minio/minio@sha256:14cea493d9a34af32f524e538b8346cf79f3321eff8e708c1e2960462bd8936e command: server /data --console-address ":9001" ports: - "9000:9000" - "9001:9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 5 minio-setup: # minio/mc:latest as of 2026-02-10 image: minio/mc@sha256:a7fe349ef4bd8521fb8497f55c6042871b2ae640607cf99d9bede5e9bdf11727 depends_on: minio: condition: service_healthy volumes: - ./test/test_data:/data:ro - ./test/seed.sh:/seed.sh:ro entrypoint: ["/bin/sh", "/seed.sh"] postgres: # postgres:18 as of 2026-02-10 image: postgres@sha256:1090bc3a8ccfb0b55f78a494d76f8d603434f7e4553543d6e807bc7bd6bbd17f ports: - "15432:5432" environment: POSTGRES_DB: quickwit_metastore POSTGRES_USER: quickwit POSTGRES_PASSWORD: quickwit healthcheck: test: ["CMD-SHELL", "pg_isready -U quickwit -d quickwit_metastore"] interval: 5s timeout: 5s retries: 5 migration: build: . depends_on: minio-setup: condition: service_completed_successfully postgres: condition: service_healthy environment: AWS_ACCESS_KEY_ID: minioadmin AWS_SECRET_ACCESS_KEY: minioadmin RUST_LOG: quickwit_metastore_migration=info,quickwit_metastore=info command: > --source-config /config/node.yaml --target-postgres-url postgresql://quickwit:quickwit@postgres:5432/quickwit_metastore volumes: - ./test/node.yaml:/config/node.yaml:ro