script to create buckets

This commit is contained in:
admin 2026-02-01 17:13:38 -07:00
parent f697e37d15
commit 5430a0cc5a

View file

@ -1 +1,35 @@
docker run --network host --entrypoint /bin/sh minio/mc -c "mc alias set myminio http://localhost:9000 admin ${MINIO_ROOT_PASSWORD}; mc mb myminio/forgejo; mc mb myminio/prometheus; mc mb myminio/backups"
#!/bin/bash
# 1. Setup variables from your environment
CONTAINER_NAME="minio-node${MINIO_NODE_NUMBER}"
DATA_PATH="/docker/minio/data"
# Example: MINIO_BUCKET_REGISTRY="forgejo prometheus backups"
echo "Checking S3 Bucket Registry..."
# 2. Stop the clustered container to prevent file locks/sync conflicts
docker stop $CONTAINER_NAME 2>/dev/null || true
# 3. Loop through the registry
for BUCKET in ${MINIO_BUCKET_REGISTRY}; do
TARGET_DIR="$DATA_PATH/$BUCKET"
if [ -d "$TARGET_DIR" ]; then
echo "Bucket '$BUCKET' already exists on host. Skipping."
else
echo "Bucket '$BUCKET' missing. Creating directory..."
# We create it with the correct permissions (MinIO usually runs as 1000)
mkdir -p "$TARGET_DIR"
chown -R 1000:1000 "$TARGET_DIR"
# Optional: Use a standalone container to 'formalize' the bucket
# if you want MinIO metadata generated immediately
docker run --rm \
-v "$DATA_PATH":/data \
alpine:latest sh -c "mkdir -p /data/$BUCKET && chown -R 1000:1000 /data/$BUCKET"
fi
done
# 4. Restart the real clustered container
echo "Restarting $CONTAINER_NAME..."
docker start $CONTAINER_NAME