78 lines
2.2 KiB
Bash
78 lines
2.2 KiB
Bash
#!/bin/bash
|
|
# Setup MinIO buckets for all Crew applications
|
|
|
|
set -e
|
|
|
|
MINIO_ALIAS="crewminio"
|
|
MINIO_ENDPOINT="http://crew-minio-prod:9000"
|
|
MINIO_USER="${MINIO_ROOT_USER:-minioadmin}"
|
|
MINIO_PASSWORD="${MINIO_ROOT_PASSWORD:-minioadmin123}"
|
|
CONTAINER_NAME="crew-minio-prod"
|
|
|
|
echo "=========================================="
|
|
echo "Setting up MinIO buckets for Crew apps"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# Check if MinIO is running
|
|
if ! docker ps | grep -q "$CONTAINER_NAME"; then
|
|
echo "❌ Error: $CONTAINER_NAME container is not running"
|
|
echo " Available containers:"
|
|
docker ps --format "{{.Names}}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Installing MinIO Client (mc)..."
|
|
docker exec $CONTAINER_NAME 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 $CONTAINER_NAME mc alias set $MINIO_ALIAS $MINIO_ENDPOINT $MINIO_USER $MINIO_PASSWORD
|
|
echo ""
|
|
|
|
# Create buckets for each application
|
|
BUCKETS=("crewsportswear" "merchbay" "email-reports")
|
|
|
|
for BUCKET in "${BUCKETS[@]}"; do
|
|
echo "Creating bucket: $BUCKET"
|
|
docker exec $CONTAINER_NAME mc mb $MINIO_ALIAS/$BUCKET --ignore-existing
|
|
|
|
# Set public read policy for images folder
|
|
echo " ↳ Setting public read access for $BUCKET/images/"
|
|
docker exec $CONTAINER_NAME 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.app"
|
|
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.app"
|