#!/bin/bash set -euo pipefail # Prepare deployment by stopping containers # Usage: ./prepare-deployment.sh REPO_PROJECT_PATH PROD CURRENT_LINK_PATH if [ $# -ne 3 ]; then echo "Error: Invalid number of arguments" echo "Usage: $0 REPO_PROJECT_PATH PROD CURRENT_LINK_PATH" exit 1 fi REPO_PROJECT_PATH="$1" PROD="$2" CURRENT_LINK_PATH="$3" # Ensure base directory exists if [ ! -d "$REPO_PROJECT_PATH" ]; then echo "âš ī¸ Directory $REPO_PROJECT_PATH does not exist, creating it..." mkdir -p "$REPO_PROJECT_PATH" fi # If current symlink exists, stop containers in that directory if [ -L "$CURRENT_LINK_PATH" ] && [ -d "$CURRENT_LINK_PATH" ]; then echo "🛑 Stopping containers in current deployment..." cd "$CURRENT_LINK_PATH" # Stop containers if [ -f "docker-compose_web.yml" ]; then docker compose -f docker-compose_web.yml -p pkmntrade-club down || true fi if [ "$PROD" = "false" ] && [ -f "docker-compose_staging.yml" ]; then docker compose -f docker-compose_staging.yml -p pkmntrade-club down || true fi if [ -f "docker-compose_core.yml" ]; then docker compose -f docker-compose_core.yml -p pkmntrade-club down || true fi echo "✅ Containers stopped" else echo "â„šī¸ No current deployment found (symlink doesn't exist or point to valid directory)" fi