# Local, zero-config TimeFusion stack: MinIO (S3) + a bucket + TimeFusion. # docker compose up # psql "postgresql://postgres:postgres@localhost:5432/postgres" services: minio: image: minio/minio:latest command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin ports: - "9000:9000" # S3 API - "9001:9001" # web console healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 3s retries: 10 # Creates the bucket once MinIO is up, then exits. createbucket: image: minio/mc:latest depends_on: minio: condition: service_healthy entrypoint: > /bin/sh -c " mc alias set local http://minio:9000 minioadmin minioadmin && mc mb --ignore-existing local/timefusion " timefusion: build: . depends_on: createbucket: condition: service_completed_successfully environment: AWS_S3_BUCKET: timefusion AWS_S3_ENDPOINT: http://minio:9000 AWS_ENDPOINT_URL: http://minio:9000 AWS_REGION: us-east-1 AWS_ALLOW_HTTP: "true" AWS_ACCESS_KEY_ID: minioadmin AWS_SECRET_ACCESS_KEY: minioadmin PGWIRE_PORT: "5432" PGWIRE_USER: postgres PGWIRE_PASSWORD: postgres ports: - "5432:5432" # PostgreSQL wire protocol