Files
trustme/resources/layout/minio-setup.sh
2025-08-05 10:26:39 +05:00

33 lines
1.0 KiB
Bash

#!/bin/sh
echo "Setting up MinIO bucket and public policy..."
# Wait for MinIO to become available
until curl -s http://localhost:9000/minio/health/ready > /dev/null; do
echo "Waiting for MinIO..."
sleep 2
done
# Set default values from environment or fallback
STORAGE_ID=${STORAGE_ID:-minioadmin}
STORAGE_KEY=${STORAGE_KEY:-minioadmin}
STORAGE_BUCKET_MEDIA=${STORAGE_BUCKET_MEDIA:-media}
STORAGE_BUCKET_STATIC=${STORAGE_BUCKET_STATIC:-static}
# Setup mc alias
mc alias set local http://0.0.0.0:9000 "$STORAGE_ID" "$STORAGE_KEY"
# Create buckets (no error if already exists)
mc mb --ignore-existing local/"$STORAGE_BUCKET_MEDIA"
mc mb --ignore-existing local/"$STORAGE_BUCKET_STATIC"
# Set upload/download access for Django (authenticated)
mc policy set write local/"$STORAGE_BUCKET_MEDIA"
mc policy set write local/"$STORAGE_BUCKET_STATIC"
# Set anonymous read policy
mc anonymous set download local/"$STORAGE_BUCKET_MEDIA"
mc anonymous set download local/"$STORAGE_BUCKET_STATIC"
echo "✅ MinIO public policy applied"