72 lines
2.1 KiB
Bash
72 lines
2.1 KiB
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo "=== Agentic Research App ==="
|
|
echo ""
|
|
|
|
# ── Check pre-requisites ─────────────────────────────
|
|
check_cmd() {
|
|
if ! command -v "$1" &>/dev/null; then
|
|
echo "ERROR: $1 not found. Please install first." >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
check_cmd python3
|
|
check_cmd podman
|
|
check_cmd podman-compose
|
|
|
|
# ── Python venv ─────────────────────────
|
|
|
|
if [ ! -d "venv" ]; then
|
|
echo "[1/6] Creating Python virtual environment..."
|
|
python3 -m venv venv
|
|
fi
|
|
source venv/bin/activate
|
|
|
|
echo "[2/6] Installing Python dependencies..."
|
|
pip install -q -e . 2>&1 | tail -1
|
|
|
|
# ── Environment ─────────────────────────
|
|
|
|
if [ ! -f ".env" ]; then
|
|
echo "[3/6] Creating .env from .env.example..."
|
|
cp .env.example .env
|
|
fi
|
|
|
|
# ── Start PostgreSQL + pgvector via Podman ──────────────
|
|
|
|
echo "[4/6] Starting PostgreSQL + pgvector..."
|
|
podman-compose -f podman-compose.yml up -d postgres 2>&1 | tail -1
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
echo " Waiting for PostgreSQL..."
|
|
for i in $(seq 1 30); do
|
|
if podman exec agentic-research-pg pg_isready -U research -d research &>/dev/null; then
|
|
echo " PostgreSQL ready!"
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
# ── Start Marker API ───────────────────────
|
|
|
|
echo "[5/6] Starting Marker API with deepseek-ocr..."
|
|
podman-compose -f podman-compose.yml up -d marker-api 2>&1 | tail -1
|
|
|
|
# ── Start App ─────────────────────────
|
|
|
|
echo "[6/6] Starting Agentic Research App..."
|
|
podman-compose -f podman-compose.yml up -d app 2>&1 | tail -1
|
|
|
|
echo ""
|
|
echo "=== Agentic Research App is running ==="
|
|
echo " UI: http://localhost:8000"
|
|
echo " Docs: http://localhost:8000/docs"
|
|
echo " Marker: http://localhost:8001/docs"
|
|
echo ""
|
|
echo "To stop: podman-compose -f podman-compose.yml down"
|