39 lines
717 B
Bash
Executable File
39 lines
717 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PIDS=()
|
|
|
|
cleanup() {
|
|
local status=$?
|
|
trap - EXIT INT TERM
|
|
|
|
if ((${#PIDS[@]})); then
|
|
kill "${PIDS[@]}" 2>/dev/null || true
|
|
wait "${PIDS[@]}" 2>/dev/null || true
|
|
fi
|
|
|
|
exit "$status"
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
trap 'exit 130' INT
|
|
trap 'exit 143' TERM
|
|
|
|
cd "$ROOT_DIR"
|
|
|
|
echo "Starting backend at http://localhost:8000"
|
|
"$ROOT_DIR/.venv/bin/uvicorn" pirats.main:app --host 0.0.0.0 --port 8000 --reload &
|
|
PIDS+=("$!")
|
|
|
|
echo "Starting frontend at http://localhost:5173"
|
|
(
|
|
cd "$ROOT_DIR/frontend"
|
|
exec ./node_modules/.bin/vite
|
|
) &
|
|
PIDS+=("$!")
|
|
|
|
echo "Press Ctrl-C to stop both servers."
|
|
wait
|