# Docker Compose configuration for running tests with MinIO storage # This extends the base configuration with a MinIO service for S3-compatible storage testing # # Usage: docker compose -f docker-compose.base.yaml -f docker-compose.test-minio.yaml up version: '3.8' services: # MinIO - S3-compatible object storage for testing minio: image: minio/minio:latest container_name: ${APP_NAME:-alga}_minio_test ports: - "9000:9000" # MinIO API - "9001:9001" # MinIO Console environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin MINIO_DOMAIN: minio command: server /data --console-address ":9001" volumes: - minio_test_data:/data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 10s timeout: 5s retries: 5 networks: - default # MinIO Client - for bucket initialization minio-init: image: minio/mc:latest container_name: ${APP_NAME:-alga}_minio_init depends_on: minio: condition: service_healthy entrypoint: > /bin/sh -c " mc alias set minio http://minio:9000 minioadmin minioadmin; mc mb minio/test-documents --ignore-existing; mc mb minio/test-previews --ignore-existing; mc mb minio/test-thumbnails --ignore-existing; mc anonymous set download minio/test-documents; mc anonymous set download minio/test-previews; mc anonymous set download minio/test-thumbnails; echo 'MinIO buckets initialized successfully'; exit 0; " networks: - default volumes: minio_test_data: driver: local networks: default: name: ${APP_NAME:-alga}_test_network