#!/usr/bin/env bash set -euo pipefail ENV=${1:-test} IMAGE=${2:-marketingsystemdatatool_msdt:latest} CMD=${3:-up} PLATFORM=${PLATFORM:-} ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd) if [ -f "$ROOT_DIR/.env.$ENV" ]; then set -a . "$ROOT_DIR/.env.$ENV" set +a fi case "$CMD" in up) docker rm -f msdt >/dev/null 2>&1 || true PLATFORM_FLAG="" if [ -n "$PLATFORM" ]; then PLATFORM_FLAG="--platform $PLATFORM"; fi docker run -d --name msdt $PLATFORM_FLAG \ -p 8077:8077 \ -e APP_ENV="$ENV" \ -e MARKETING_DB_HOST="${MARKETING_DB_HOST:-}" \ -e MARKETING_DB_PORT="${MARKETING_DB_PORT:-}" \ -e MARKETING_DB_USER="${MARKETING_DB_USER:-}" \ -e MARKETING_DB_PASSWORD="${MARKETING_DB_PASSWORD:-}" \ -e MARKETING_DB_NAME="${MARKETING_DB_NAME:-}" \ -e YMT_DB_HOST="${YMT_DB_HOST:-}" \ -e YMT_DB_PORT="${YMT_DB_PORT:-}" \ -e YMT_DB_USER="${YMT_DB_USER:-}" \ -e YMT_DB_PASSWORD="${YMT_DB_PASSWORD:-}" \ -e YMT_DB_NAME="${YMT_DB_NAME:-}" \ -v "$ROOT_DIR/server/storage:/app/storage" \ "$IMAGE" ;; down) docker rm -f msdt >/dev/null 2>&1 || true ;; restart) docker restart msdt ;; logs) docker logs -f msdt ;; *) echo "usage: deploy_image.sh [up|down|restart|logs]" >&2 echo "env overrides: set PLATFORM=linux/amd64 or PLATFORM=linux/arm64 if needed" >&2 exit 1 ;; esac