Build Proxmox visualizer app
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
||||
#!/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"
|
||||
|
||||
API_HOST="${API_HOST:-127.0.0.1}"
|
||||
API_PORT="${API_PORT:-8000}"
|
||||
FRONTEND_HOST="${FRONTEND_HOST:-0.0.0.0}"
|
||||
|
||||
pids=()
|
||||
|
||||
cleanup() {
|
||||
for pid in "${pids[@]}"; do
|
||||
kill "$pid" 2>/dev/null || true
|
||||
done
|
||||
wait 2>/dev/null || true
|
||||
}
|
||||
|
||||
trap cleanup INT TERM EXIT
|
||||
|
||||
if [ ! -x "$BACKEND_DIR/.venv/bin/uvicorn" ]; then
|
||||
echo "Backend dependencies missing. Run:"
|
||||
echo " cd backend && python -m venv .venv && .venv/bin/pip install -r requirements.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$FRONTEND_DIR/node_modules" ]; then
|
||||
echo "Frontend dependencies missing. Run:"
|
||||
echo " cd frontend && npm install"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Starting backend on http://$API_HOST:$API_PORT"
|
||||
(
|
||||
cd "$BACKEND_DIR"
|
||||
.venv/bin/uvicorn app.main:app --host "$API_HOST" --port "$API_PORT"
|
||||
) &
|
||||
pids+=("$!")
|
||||
|
||||
echo "Starting frontend"
|
||||
(
|
||||
cd "$FRONTEND_DIR"
|
||||
npm run dev -- --host "$FRONTEND_HOST"
|
||||
) &
|
||||
pids+=("$!")
|
||||
|
||||
echo
|
||||
echo "Prox Visualizer is starting."
|
||||
echo "Backend: http://$API_HOST:$API_PORT"
|
||||
echo "Frontend: use the Network URL printed by Vite from another device."
|
||||
echo "Stop both services with Ctrl+C."
|
||||
echo
|
||||
|
||||
wait
|
||||
Reference in New Issue
Block a user