serve-hs-api.sh 721 B

12345678910
  1. #!/bin/bash
  2. # hs-data 单进程服务:uvicorn 同源托管 SPA(STATIC_DIR=~/hs-data,实时读盘)+ /api,端口 8080。
  3. # 隔离 Python 3.11(~/miniconda3),不动系统环境。已在跑则退出(幂等);
  4. # 用 `setsid nohup ... </dev/null` 脱离 SSH 会话与控制终端,关掉会话也存活。
  5. # 注:此文件是 ~/serve-hs-api.sh 的仓库副本;部署链路不自动同步 infra → 服务器,
  6. # 改这里后需手动拷到服务器(见 docs/02 §10)。
  7. pgrep -f "uvicorn app.main:app" >/dev/null 2>&1 && exit 0
  8. cd "$HOME/hs-api/apps/api" || exit 1
  9. STATIC_DIR="$HOME/hs-data" setsid nohup "$HOME/miniconda3/bin/python" -m uvicorn app.main:app \
  10. --host 0.0.0.0 --port 8080 >"$HOME/hs-api.log" 2>&1 </dev/null &