services: minio: image: minio/minio:latest container_name: course-plat-minio restart: unless-stopped ports: - "9000:9000" # API - "9001:9001" # Console (UI) environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minioadmin} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minioadmin} volumes: - minio_data:/data command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 20s retries: 3 # Opcional: cria bucket automaticamente ao iniciar minio-init: image: minio/mc:latest container_name: course-plat-minio-init depends_on: - minio entrypoint: > sh -c " sleep 5 && mc alias set myminio http://minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-minioadmin} && mc mb myminio/${MINIO_BUCKET:-course-plat} --ignore-existing && mc anonymous set none myminio/${MINIO_BUCKET:-course-plat} && echo 'MinIO initialized! Bucket is private.' " restart: "no" volumes: minio_data: driver: local