#!/usr/bin/env bash set -euo pipefail IMAGE_NAME=${IMAGE_NAME:-mengyadriftbottle} CONTAINER_NAME=${CONTAINER_NAME:-mengyadriftbottle} FRONTEND_PORT=${FRONTEND_PORT:-6767} BACKEND_PORT=${BACKEND_PORT:-5002} PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)" DATA_DIR="${DATA_DIR:-}" echo "[1/3] Building image $IMAGE_NAME ..." docker build -t "$IMAGE_NAME" "$PROJECT_DIR" echo "[2/3] Removing old container if it exists ..." if docker ps -a --format '{{.Names}}' | grep -Eq "^${CONTAINER_NAME}$"; then docker rm -f "$CONTAINER_NAME" >/dev/null fi echo "[3/3] Starting container $CONTAINER_NAME ..." RUN_ARGS=( -d --name "$CONTAINER_NAME" -p ${FRONTEND_PORT}:6767 -e BACKEND_PORT=5002 ) if [ -n "$DATA_DIR" ]; then mkdir -p "$DATA_DIR" RUN_ARGS+=( -v "$DATA_DIR:/app/data" ) fi docker run "${RUN_ARGS[@]}" "$IMAGE_NAME" echo "Container is up. Frontend: http://localhost:${FRONTEND_PORT}" echo "Logs: docker logs -f ${CONTAINER_NAME}"