diff --git a/docker-compose.yaml b/docker-compose.yaml index 9960eaf..51105b1 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -42,22 +42,22 @@ services: # - ./path/to/your/web-api-repo:/app # --- songparser service --- - songparser: - build: - context: ../songparser - ssh: ["default"] - dockerfile: Dockerfile - container_name: songparser - restart: unless-stopped - env_file: - - ../songparser/.env - depends_on: - - api - - main_db - - auth_api - - auth_db - networks: - - soaricarus-network +# songparser: +# build: +# context: ../songparser +# ssh: ["default"] +# dockerfile: Dockerfile +# container_name: songparser +# restart: unless-stopped +# env_file: +# - ../songparser/.env +# depends_on: +# - api +# - main_db +# - auth_api +# - auth_db +# networks: +# - soaricarus-network # --- storage service --- maze: build: diff --git a/garage/entrypoint.sh b/garage/entrypoint.sh index 5273235..5b68c9e 100755 --- a/garage/entrypoint.sh +++ b/garage/entrypoint.sh @@ -21,66 +21,101 @@ EOF echo "✅ Credentials saved to $CREDENTIALS_FILE" } +echo "Sleeping for a bit" +sleep 5 +GARAGE_COMMAND_EXEC="$GARAGE_BIN -c /etc/garage.toml server" + # Check if setup already completed if [ -f "$SETUP_DONE" ]; then echo "â„šī¸ Setup already completed. Starting Garage..." - exec $GARAGE_BIN "$@" + exec $GARAGE_COMMANDS_EXEC fi echo "🔧 First-time setup - initializing Garage..." # Start Garage in background for setup (just the binary, no daemon subcommand) echo "âŗ Starting Garage in background..." -$GARAGE_BIN "$@" & -GARAGE_PID=$! +echo "GARAGE_BIN: $GARAGE_COMMAND_EXEC" +# $GARAGE_BIN "$@" & +# GARAGE_PID=$! +# $GARAGE_BIN -c /etc/garage.toml & GARAGE_PID=$! +$GARAGE_COMMAND_EXEC & GARAGE_PID=$! -# Wait for Garage to be ready -echo "âŗ Waiting for Garage API..." -until curl -s -f "http://localhost:3901/v0/status" > /dev/null 2>&1; do - echo " Not ready yet, sleeping 2s..." - sleep 2 -done -echo "✅ Garage API is responding!" +echo "GARAGE_PID: $GARAGE_PID" + +# echo "Command: $GARAGE_BIN $@" # Apply cluster layout if ! $GARAGE_BIN layout show 2>/dev/null | grep -q "Current cluster layout"; then echo "đŸ“Ļ Applying cluster layout..." NODE_ID=$($GARAGE_BIN node id | head -n1) - $GARAGE_BIN layout assign --version 1 "$NODE_ID" + echo "Node ID: $NODE_ID" + sleep 5 + + echo "Assigning layout" + # $GARAGE_BIN layout assign --version 1 -z ny1 -c 4G $NODE_ID + $GARAGE_BIN layout assign -z ny1 -c 4G $NODE_ID + # $GARAGE_BIN status + sleep 5 + # $GARAGE_BIN status + echo "Show layout" + $GARAGE_BIN layout show + sleep 5 + echo "Applying layout" $GARAGE_BIN layout apply --version 1 echo " ✅ Layout applied" - sleep 2 + sleep 10 else echo "â„šī¸ Layout already applied" fi + # Create bucket +echo "Bucket: $BUCKET_NAME" if ! $GARAGE_BIN bucket info "$BUCKET_NAME" 2>/dev/null; then echo "đŸ“Ļ Creating bucket: $BUCKET_NAME" $GARAGE_BIN bucket create "$BUCKET_NAME" + sleep 10 else echo "â„šī¸ Bucket $BUCKET_NAME already exists" fi + # Handle key -if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then - echo "🔑 Using pre-defined credentials from .env" - if ! $GARAGE_BIN key info "$AWS_ACCESS_KEY_ID" 2>/dev/null; then - $GARAGE_BIN key import "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "app-key" - echo " ✅ Key imported: $AWS_ACCESS_KEY_ID" - else - echo " â„šī¸ Key already exists: $AWS_ACCESS_KEY_ID" - fi - ACCESS_KEY="$AWS_ACCESS_KEY_ID" - SECRET_KEY="$AWS_SECRET_ACCESS_KEY" -else - echo "🔑 Generating new key..." - KEY_OUTPUT=$($GARAGE_BIN key create --name "app-key") - echo "$KEY_OUTPUT" - ACCESS_KEY=$(echo "$KEY_OUTPUT" | grep 'Key ID:' | awk '{print $3}') - SECRET_KEY=$(echo "$KEY_OUTPUT" | grep 'Secret key:' | awk '{print $3}') - echo " ✅ Key generated: $ACCESS_KEY" -fi +#if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then +# echo "🔑 Using pre-defined credentials from .env" +# if ! $GARAGE_BIN key info "$AWS_ACCESS_KEY_ID" 2>/dev/null; then +# $GARAGE_BIN key import "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" "app-key" +# echo " ✅ Key imported: $AWS_ACCESS_KEY_ID" +# else +# echo " â„šī¸ Key already exists: $AWS_ACCESS_KEY_ID" +# fi +# ACCESS_KEY="$AWS_ACCESS_KEY_ID" +# SECRET_KEY="$AWS_SECRET_ACCESS_KEY" +#else +# echo "🔑 Generating new key..." +# KEY_OUTPUT=$($GARAGE_BIN key create --name "app-key") +# echo "$KEY_OUTPUT" +# ACCESS_KEY=$(echo "$KEY_OUTPUT" | grep 'Key ID:' | awk '{print $3}') +# SECRET_KEY=$(echo "$KEY_OUTPUT" | grep 'Secret key:' | awk '{print $3}') +# echo " ✅ Key generated: $ACCESS_KEY" +#fi + +sleep 15 +echo "🔑 Generating new key..." +KEY_OUTPUT=$($GARAGE_BIN key create --name "app-key") +echo "$KEY_OUTPUT" +ACCESS_KEY=$(echo "$KEY_OUTPUT" | grep 'Key ID:' | awk '{print $3}') +SECRET_KEY=$(echo "$KEY_OUTPUT" | grep 'Secret key:' | awk '{print $3}') +echo " ✅ Key generated: $ACCESS_KEY" + +# Wait for Garage to be ready +echo "âŗ Waiting for Garage API..." +until curl -s -f "http://localhost:3900/v0/status" > /dev/null 2>&1; do + echo " Not ready yet, sleeping 2s..." + sleep 2 +done +echo "✅ Garage API is responding!" # Grant permissions $GARAGE_BIN bucket allow --read --write --owner "$BUCKET_NAME" --key "$ACCESS_KEY" @@ -100,4 +135,5 @@ wait "$GARAGE_PID" 2>/dev/null || true # Start Garage in foreground echo "🚀 Starting Garage in foreground..." -exec $GARAGE_BIN "$@" +# exec $GARAGE_BIN "$@" +exec $GARAGE_COMMANDS_EXEC