#!/usr/bin/env bash
set -euo pipefail

APP_DIR="/home/sandhiya/Pubmed-Automation-Bot/V1/rag-bot"
ENV_FILE="$APP_DIR/.env.docker"

# Pull image (ARM64 + CUDA 12.8)
docker pull nvcr.io/nvidia/pytorch:25.02-py3

# Run your app
exec docker run --rm \
  --name ragbot \
  --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
  -p 8000:8000 \
  -v "$APP_DIR:/app" \
  -v "$APP_DIR/data:/app/data" \
  -w /app \
  --env-file "$ENV_FILE" \
  nvcr.io/nvidia/pytorch:25.02-py3 \
  bash -lc "python -c 'import torch,sys; print({\"torch\":torch.__version__,\"cuda\":getattr(torch.version,\"cuda\",None),\"ok\":torch.cuda.is_available(),\"n\":torch.cuda.device_count(),\"cap\":(torch.cuda.get_device_capability(0) if torch.cuda.is_available() else None)})' && \
            pip install -U pip && \
            pip install -r requirements.runtime.txt && \
            uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 1 --log-level info"
