55 lines
1.4 KiB
Bash
Executable File
55 lines
1.4 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
set -u
|
|
set -e
|
|
|
|
function start_minio() {
|
|
cd "$(dirname ${BASH_SOURCE[0]})"
|
|
|
|
AWS_ACCESS="${user:-}"
|
|
AWS_SECRET="${pass:-}"
|
|
AWS_PORT="${AWS_PORT:-11000}"
|
|
AWS_REGION="local"
|
|
CONTAINER_NAME="watchman-minio"
|
|
|
|
if [ "$(docker ps | grep $CONTAINER_NAME)" == "" ]; then
|
|
echo "Starting minio..."
|
|
docker run -d --rm \
|
|
-p $AWS_PORT:$AWS_PORT \
|
|
-e MINIO_ACCESS_KEY="$AWS_ACCESS" \
|
|
-e MINIO_SECRET_KEY="$AWS_SECRET" \
|
|
-e MINIO_REGION="$AWS_REGION" \
|
|
--name $CONTAINER_NAME \
|
|
minio/minio \
|
|
server --address ":$AWS_PORT" /data
|
|
sleep 10
|
|
else
|
|
echo "minio already running"
|
|
fi
|
|
keys="$(docker exec $CONTAINER_NAME cat /root/.minio/config.json | grep Key)"
|
|
STORE_ID="${keys#*: \"}"
|
|
STORE_ID="${STORE_ID%%\"*}"
|
|
STORE_LOC="localhost:$AWS_PORT"
|
|
STORE_SECRET="${keys##*secretKey\": \"}"
|
|
STORE_SECRET="${STORE_SECRET%%\"*}"
|
|
export STORE_ID="$STORE_ID"
|
|
export STORE_SECRET="$STORE_SECRET"
|
|
export STORE_LOC="$STORE_LOC"
|
|
export STORE_REGION="$AWS_REGION"
|
|
echo "Waiting for minio..."
|
|
skip=5
|
|
for((i=0; i<60; i+=skip)); do
|
|
printf "\tcheck %d..." $((i/skip))
|
|
if [ "$(docker ps | grep $CONTAINER_NAME | grep "(healthy)")" != "" ]; then
|
|
echo ""
|
|
return
|
|
fi
|
|
sleep $skip
|
|
done
|
|
echo "\nMinio never healthy"
|
|
docker logs $CONTAINER_NAME
|
|
exit 1
|
|
}
|
|
|
|
start_minio
|