Files
PracticaENERGO2/start.sh

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