#!/bin/bash # Setup MinIO buckets for all Crew applications set -e MINIO_ALIAS="crewminio" MINIO_ENDPOINT="http://crew-minio:9000" MINIO_USER="${MINIO_ROOT_USER:-minioadmin}" MINIO_PASSWORD="${MINIO_ROOT_PASSWORD:-minioadmin123}" echo "==========================================" echo "Setting up MinIO buckets for Crew apps" echo "==========================================" echo "" # Check if MinIO is running if ! docker ps | grep -q crew-minio; then echo "❌ Error: crew-minio container is not running" echo " Start it first: docker-compose up -d" exit 1 fi echo "Installing MinIO Client (mc)..." docker exec crew-minio sh -c " if ! command -v mc &> /dev/null; then curl -O https://dl.min.io/client/mc/release/linux-amd64/mc && \ chmod +x mc && \ mv mc /usr/local/bin/ fi " echo "✓ MinIO Client installed" echo "" # Configure MinIO client echo "Configuring MinIO client..." docker exec crew-minio mc alias set $MINIO_ALIAS $MINIO_ENDPOINT $MINIO_USER $MINIO_PASSWORD echo "" # Create buckets for each application BUCKETS=("crewsportswear" "merchbay" "merchbay-admin" "crew-admin" "email-reports") for BUCKET in "${BUCKETS[@]}"; do echo "Creating bucket: $BUCKET" docker exec crew-minio mc mb $MINIO_ALIAS/$BUCKET --ignore-existing # Set public read policy for images folder echo " ↳ Setting public read access for $BUCKET/images/" docker exec crew-minio mc anonymous set download $MINIO_ALIAS/$BUCKET/images/ echo " ✓ Bucket $BUCKET ready" echo "" done echo "==========================================" echo "✓ All buckets created successfully!" echo "==========================================" echo "" echo "Buckets created:" for BUCKET in "${BUCKETS[@]}"; do echo " - $BUCKET" done echo "" echo "Access MinIO Console:" echo " Local: http://localhost:9001" echo " Production: https://console.crewsportswear.com" echo "" echo "Credentials:" echo " Username: $MINIO_USER" echo " Password: $MINIO_PASSWORD" echo "" echo "S3 Endpoint:" echo " Local: http://crew-minio:9000 (from app containers)" echo " http://localhost:9000 (from host)" echo " Production: https://minio.crewsportswear.com"