51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$ROOT"
|
|
|
|
PYTHON="${PYTHON:-python3}"
|
|
VENV="$ROOT/.venv"
|
|
PORT="${PORT:-8000}"
|
|
|
|
echo "==> ROBO-OPS: сборка и запуск"
|
|
echo " Каталог: $ROOT"
|
|
|
|
if ! command -v "$PYTHON" >/dev/null 2>&1; then
|
|
if command -v python >/dev/null 2>&1; then
|
|
PYTHON=python
|
|
else
|
|
echo "Ошибка: Python 3 не найден. Установите Python 3.10+"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "==> Python: $($PYTHON --version)"
|
|
|
|
if [ ! -d "$VENV" ]; then
|
|
echo "==> Создание виртуального окружения..."
|
|
"$PYTHON" -m venv "$VENV"
|
|
fi
|
|
|
|
# shellcheck disable=SC1091
|
|
source "$VENV/bin/activate" 2>/dev/null || source "$VENV/Scripts/activate"
|
|
|
|
echo "==> Установка зависимостей..."
|
|
python -m pip install --upgrade pip -q
|
|
python -m pip install -r requirements.txt -q
|
|
|
|
mkdir -p "$ROOT/data"
|
|
|
|
export ROBO_OPS_VIA_START_SH=1
|
|
export DATABASE_PATH="${DATABASE_PATH:-$ROOT/data/robo_ops.db}"
|
|
export EXTERNAL_API_KEY="${EXTERNAL_API_KEY:-robo-ops-external-demo-key-2026}"
|
|
|
|
echo ""
|
|
echo "==> Сервер запущен: http://localhost:$PORT"
|
|
echo " Регистрация: http://localhost:$PORT/register"
|
|
echo " API docs: http://localhost:$PORT/docs"
|
|
echo " Остановка: Ctrl+C"
|
|
echo ""
|
|
|
|
exec python -m uvicorn app.main:app --host 0.0.0.0 --port "$PORT" --reload
|