HuggingRun / DEPLOY.md
tao-shen's picture
HuggingRun: 通用接口 + HF 限制文档 + APP_PORT + ubuntu-desktop 示例
8e80192
# 部署 HuggingRun 到 Hugging Face Spaces
## 1. 创建 Space
在 [huggingface.co/new-space](https://huggingface.co/new-space) 新建 Space:
- **SDK**: 选 **Docker**
- **Space name**: 例如 `HuggingRun`
- 创建后得到 `https://huggingface.co/spaces/<你的用户名>/HuggingRun`
## 2. 推送代码
在本地项目目录执行(把 `tao-shen` 换成你的 HF 用户名):
```bash
cd /Users/tao.shen/HuggingRun
git remote remove origin 2>/dev/null || true
git remote add origin https://huggingface.co/spaces/<你的用户名>/HuggingRun
git push -u origin main
```
若 HF 需要认证,先执行:
```bash
pip install -q huggingface_hub && huggingface-cli login
```
或使用 Git 凭证(HF 支持 Personal Access Token 作为密码)。
## 3. 本地验证(可选)
确保 Docker 已启动后:
```bash
docker build -t huggingrun:local .
docker run --rm -p 7860:7860 -e PORT=7860 huggingrun:local
```
浏览器打开 http://localhost:7860 应看到默认 demo(访问计数)。Ctrl+C 停止。
## 4. 难例测试(FastAPI + SQLite)
在 Space 的 **Settings → Repository secrets** 中增加:
- `RUN_CMD` = `uvicorn app.fastapi_sqlite:app --host 0.0.0.0 --port 7860`
- (可选)`HF_TOKEN``AUTO_CREATE_DATASET` = `true` 以开启持久化
保存后 Space 会重新构建。打开 App 查看首页和 `/api`,重启 Space 后访问次数应保持(若已配 HF 持久化)。
## 完成标准
- [ ] Space 创建并推送代码成功
- [ ] 默认 demo 在 Space 中可访问(7860)
- [ ] 设置 `RUN_CMD` 后 FastAPI+SQLite 难例可访问且(可选)重启后数据仍在