46 lines
1.2 KiB
Bash
46 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
# НадTavern Linux/macOS launcher with local .venv bootstrap
|
||
# Usage:
|
||
# chmod +x ./run_agentui.sh
|
||
# ./run_agentui.sh
|
||
# Optional env: HOST=0.0.0.0 PORT=7860
|
||
|
||
# Go to repo root (script location)
|
||
cd "$(dirname "$0")"
|
||
|
||
PORT="${PORT:-7860}"
|
||
HOST="${HOST:-127.0.0.1}"
|
||
|
||
# Pick python
|
||
if command -v python3 >/dev/null 2>&1; then
|
||
PY=python3
|
||
else
|
||
PY=python
|
||
fi
|
||
|
||
# Create venv if missing
|
||
if [ ! -f ".venv/bin/python" ]; then
|
||
echo "[НадTavern] Creating .venv ..."
|
||
"$PY" -m venv .venv
|
||
fi
|
||
|
||
VENV_PY=".venv/bin/python"
|
||
|
||
echo "[НадTavern] Upgrading pip ..."
|
||
"$VENV_PY" -m pip install --upgrade pip
|
||
|
||
echo "[НадTavern] Installing deps from requirements.txt ..."
|
||
"$VENV_PY" -m pip install -r requirements.txt
|
||
|
||
echo "[НадTavern] Starting on http://$HOST:$PORT/"
|
||
|
||
# Try to open UI editor in default browser (non-fatal if fails)
|
||
if command -v xdg-open >/dev/null 2>&1; then
|
||
xdg-open "http://$HOST:$PORT/ui/editor.html" >/dev/null 2>&1 || true
|
||
elif command -v open >/dev/null 2>&1; then
|
||
open "http://$HOST:$PORT/ui/editor.html" >/dev/null 2>&1 || true
|
||
fi
|
||
|
||
exec "$VENV_PY" -m uvicorn agentui.api.server:app --host "$HOST" --port "$PORT" --log-level info |