#!/usr/bin/env bash set -euo pipefail PREVIOUS_IMAGE_TAG="${1:-}" DEPLOY_PATH="${DEPLOY_PATH:-/opt/plesk-agency-portal}" APP_BASE_URL="${APP_BASE_URL:-}" if [ -z "${PREVIOUS_IMAGE_TAG}" ]; then echo "Usage: $0 " >&2 exit 1 fi if [ -z "${APP_BASE_URL}" ]; then echo "APP_BASE_URL is required" >&2 exit 1 fi if [ ! -f "${DEPLOY_PATH}/docker-compose.prod.yml" ]; then echo "Missing docker-compose.prod.yml in ${DEPLOY_PATH}" >&2 exit 1 fi if [ ! -f "${DEPLOY_PATH}/.env" ]; then echo "Missing .env in ${DEPLOY_PATH}" >&2 exit 1 fi if [ ! -f "${DEPLOY_PATH}/scripts/smoke-check.sh" ]; then echo "Missing scripts/smoke-check.sh in ${DEPLOY_PATH}" >&2 exit 1 fi cd "${DEPLOY_PATH}" APP_IMAGE="${PREVIOUS_IMAGE_TAG}" docker compose -f docker-compose.prod.yml up -d --no-build --force-recreate "${DEPLOY_PATH}/scripts/smoke-check.sh" "${APP_BASE_URL}" docker compose -f docker-compose.prod.yml ps