feat: Dynamically detect and use either docker compose v2 or docker-compose v1 commands.

This commit is contained in:
Moh Dzulfikri Maulana
2026-03-09 00:33:53 +07:00
parent c7b022d502
commit d2ed233911

View File

@@ -5,6 +5,16 @@ if [ -f .env ]; then
export $(grep -v '^#' .env | xargs) export $(grep -v '^#' .env | xargs)
fi fi
# Check if 'docker compose' (v2) or 'docker-compose' (v1) is available
if docker compose version >/dev/null 2>&1; then
COMPOSE_CMD="docker compose"
elif docker-compose version >/dev/null 2>&1; then
COMPOSE_CMD="docker-compose"
else
echo "❌ Error: Docker Compose not found. Please install Docker Compose first."
exit 1
fi
# Name of the database container # Name of the database container
DB_CONTAINER_NAME="portfolio-db" DB_CONTAINER_NAME="portfolio-db"
@@ -12,12 +22,12 @@ DB_CONTAINER_NAME="portfolio-db"
if [ "$(docker ps -q -f name=${DB_CONTAINER_NAME})" ]; then if [ "$(docker ps -q -f name=${DB_CONTAINER_NAME})" ]; then
echo "✅ Database container '${DB_CONTAINER_NAME}' is already running." echo "✅ Database container '${DB_CONTAINER_NAME}' is already running."
echo "🚀 Deploying/Updating only the application..." echo "🚀 Deploying/Updating only the application..."
docker-compose up -d --no-recreate db $COMPOSE_CMD up -d --no-recreate db
docker-compose up -d app $COMPOSE_CMD up -d app
else else
echo "⚠️ Database container '${DB_CONTAINER_NAME}' not found or stopped." echo "⚠️ Database container '${DB_CONTAINER_NAME}' not found or stopped."
echo "🏗️ Deploying full stack (Database + App)..." echo "🏗️ Deploying full stack (Database + App)..."
docker-compose up -d $COMPOSE_CMD up -d
fi fi
echo "✨ Deployment script finished!" echo "✨ Deployment script finished!"