Files
reducers/run.sh
T

36 lines
988 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BACKEND_DIR="$ROOT_DIR/backend"
FRONTEND_DIR="$ROOT_DIR/frontend"
BACKEND_HOST="${BACKEND_HOST:-127.0.0.1}"
BACKEND_PORT="${BACKEND_PORT:-8000}"
FRONTEND_HOST="${FRONTEND_HOST:-127.0.0.1}"
FRONTEND_PORT="${FRONTEND_PORT:-5173}"
RUN_NAME="${RUN_NAME:-frontend_split_motor_7nm}"
cleanup() {
if [[ -n "${BACKEND_PID:-}" ]]; then
kill "$BACKEND_PID" 2>/dev/null || true
fi
}
trap cleanup EXIT INT TERM
if [[ ! -d "$FRONTEND_DIR/node_modules" ]]; then
echo "Installing frontend dependencies..."
(cd "$FRONTEND_DIR" && npm install)
fi
echo "Starting backend on http://$BACKEND_HOST:$BACKEND_PORT"
(
cd "$BACKEND_DIR"
python -m src.dev_server --host "$BACKEND_HOST" --port "$BACKEND_PORT" --run-name "$RUN_NAME"
) &
BACKEND_PID=$!
echo "Starting frontend on http://$FRONTEND_HOST:$FRONTEND_PORT"
cd "$FRONTEND_DIR"
npm run dev -- --host "$FRONTEND_HOST" --port "$FRONTEND_PORT"