30 lines
860 B
Bash
Executable File
30 lines
860 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -u
|
|
|
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
|
|
REPO_ROOT="$(cd -- "$SCRIPT_DIR/.." && pwd -P)"
|
|
PYTHON_EXE="${SYSTEM_SIMULATION_PYTHON:-$REPO_ROOT/.venv/bin/python}"
|
|
|
|
if [[ "$PYTHON_EXE" != /* ]]; then
|
|
PYTHON_EXE="$REPO_ROOT/$PYTHON_EXE"
|
|
fi
|
|
|
|
if [[ ! -x "$PYTHON_EXE" ]]; then
|
|
echo "[ERROR] Python virtual environment was not found:" >&2
|
|
echo " $PYTHON_EXE" >&2
|
|
echo >&2
|
|
echo "Create it and install the backend dependencies first:" >&2
|
|
echo " python3 -m venv \"$REPO_ROOT/.venv\"" >&2
|
|
echo " \"$REPO_ROOT/.venv/bin/python\" -m pip install -r \"$REPO_ROOT/requirements.txt\"" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "$REPO_ROOT"
|
|
|
|
echo "Starting FastAPI at http://127.0.0.1:8000"
|
|
echo "Press Ctrl+C to stop the service."
|
|
echo
|
|
|
|
exec "$PYTHON_EXE" -m uvicorn app.main:app --host 127.0.0.1 --port 8000
|