Files
Nexus/scripts/wsl_start_dev.sh
T
Your Name 80d73d1b74 fix: WSL startup compatibility + dependency updates
- redis/client.py: use BlockingConnectionPool.from_url() (fixes 'url' kwarg error)
- database/engine_compat.py: patch aiomysql do_ping to satisfy pool_pre_ping
- database/session.py: apply engine_compat patch before create_async_engine
- requirements.txt: SQLAlchemy 2.0.49 (fixes aiomysql ping() reconnect signature)
- .env.example: document NEXUS_REDIS_URL format
- scripts/wsl_ensure_venv.sh: create project .venv (PEP 668 safe)
- scripts/wsl_start_dev.sh: use .venv python, validate Redis before start
- scripts/wsl_integration_smoke.sh: code-only verification mode
- scripts/wsl_check_mysql.py / bootstrap_database.py: MySQL setup helpers
- scripts/sync_frontend_vendor.py: vendor asset sync utility

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-23 15:27:18 +08:00

22 lines
625 B
Bash

#!/usr/bin/env bash
# Start Nexus FastAPI in WSL dev mode (reload).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"
bash scripts/wsl_ensure_venv.sh
PY="${ROOT}/.venv/bin/python3"
if ! redis-cli ping 2>/dev/null | grep -q PONG; then
echo "ERROR: Redis not responding. Run: sudo service redis-server start"
exit 1
fi
if [[ ! -f .env ]]; then
echo "WARN: No .env — app runs in INSTALL MODE only."
echo " Open http://127.0.0.1:8600/app/install.html after start"
fi
echo "Starting Nexus on http://127.0.0.1:8600 ..."
exec "$PY" -m uvicorn server.main:app --host 127.0.0.1 --port 8600 --reload