#!/bin/bash
# Run the app in Docker (non-FIPS OpenSSL) so all endpoints including engine work.
# Usage: ./scripts/start-server-docker.sh

set -e
cd "$(dirname "$0")/.."
PROJECT_ROOT="$(pwd)"
IMAGE_NAME="${IMAGE_NAME:-legalsure-app}"
CONTAINER_NAME="${CONTAINER_NAME:-legalsure}"
PORT="${UVICORN_PORT:-8000}"
ENV_FILE="${ENV_FILE:-genai/.env}"

if [ ! -f "$ENV_FILE" ]; then
  echo "Error: $ENV_FILE not found. Create it with your MongoDB and API keys."
  exit 1
fi

# Build if needed
if ! docker image inspect "$IMAGE_NAME" &>/dev/null; then
  echo "Building Docker image: $IMAGE_NAME"
  docker build -t "$IMAGE_NAME" .
fi

# Stop existing container if any
docker stop "$CONTAINER_NAME" 2>/dev/null || true
docker rm "$CONTAINER_NAME" 2>/dev/null || true

echo "Starting container $CONTAINER_NAME on port $PORT (env from $ENV_FILE)"
docker run -d \
  --name "$CONTAINER_NAME" \
  -p "$PORT:8000" \
  --env-file "$ENV_FILE" \
  --restart unless-stopped \
  "$IMAGE_NAME"

echo "Server running at http://0.0.0.0:$PORT"
echo "To stop: docker stop $CONTAINER_NAME"
echo "Logs:    docker logs -f $CONTAINER_NAME"
