Skip to content

localhostgo/HFSpaceDeploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 HuggingFace Space 一键部署器

将您的 Git 代码一键部署到 HuggingFace Spaces,无需繁琐配置!

License Python FastAPI

🎯 为什么选择这个工具?

在 HuggingFace Spaces 上部署应用通常需要:

  • ✗ 手动创建 Space
  • ✗ 配置环境变量
  • ✗ 上传代码文件
  • ✗ 等待构建完成
  • ✗ 处理各种错误

使用这个工具,您只需要:

  • ✓ 填写一个简单表单
  • ✓ 点击部署按钮
  • ✓ 喝杯咖啡,等待完成!

⚡ 快速开始(3分钟部署)

1️⃣ 启动部署器

# 克隆并启动
git clone https://github.com/kfcx/HFSpaceDeploy.git
cd HFSpaceDeploy
pip install -r requirements.txt
python main.py

2️⃣ 访问界面

打开浏览器访问 http://localhost:7860

3️⃣ 一键部署

填写表单:

  • HF Token: 从 这里 获取(需要写入权限)
  • Git 仓库: 您要部署的 Git 仓库地址
  • Space 名称: 给您的应用起个名字

点击 "🚀 开始部署",搞定!

✨ 核心特性

🎨 优雅的界面

  • 现代化 UI 设计,支持浅色/深色主题切换
  • 实时部署进度展示
  • 响应式设计,手机也能用

🛠️ 强大的功能

  • 🚀 一键部署 - 填表单→点按钮→3分钟上线,告别繁琐配置
  • 🎨 现代 UI - 深浅主题切换,手机电脑都好用
  • 📁 智能部署 - 支持子目录、环境变量、私有空间等
  • 📡 实时追踪 - 部署进度实时显示
  • 💾 配置管理 - 一键导入/导出配置,分享链接快速复用
  • 🌍 双语支持 - 中英文界面一键切换
  • 🔧 多框架 - 支持 Gradio/Streamlit/FastAPI/Flask 等
  • 🐳 Docker 就绪 - 完美适配 HF Spaces 容器环境

🔧 开发者友好

  • RESTful API 接口
  • 详细的部署日志
  • 支持各种框架(Gradio、Streamlit、FastAPI 等)

📖 使用场景

场景 1:部署 Gradio 应用

# 您的 app.py
import gradio as gr

def greet(name):
    return f"Hello {name}!"

demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch(server_port=7860)

场景 2:部署子目录

如果您的应用在仓库的子目录中:

my-repo/
├── frontend/
├── backend/
└── demos/
    └── my-app/  # 只想部署这个
        ├── Dockerfile
        └── app.py

只需在 "部署路径" 填写 demos/my-app

场景 3:使用环境变量

在环境变量区域添加:

DATABASE_URL=redis://...

🔥 高级功能

API 接口调用

import requests

# 创建部署任务
response = requests.post(
    "http://localhost:7860/deploy",
    json={
        "hf_token": "hf_...",
        "git_repo_url": "https://github.com/user/repo",
        "space_name": "my-awesome-app",
        "space_port": 7860,
        "env_vars": {"API_KEY": "xxx"}
    }
)

task_id = response.json()["task_id"]

# 查询部署状态
status = requests.get(f"http://localhost:7860/deploy/status/{task_id}")
print(status.json())

Docker 支持

确保您的仓库包含 Dockerfile

FROM python:3.9

WORKDIR /app
COPY . .
RUN pip install -r requirements.txt

EXPOSE 7860
CMD ["python", "app.py"]

💡 常见问题

Q: 怎么获取 HuggingFace Token ?

A: 如下图点击获取令牌 -> Create new token -> 如图2复制token
img1 img2

Q: HuggingFace Token 需要什么权限?

A: 需要在 HuggingFace Settings 创建具有 write 权限的 token,参考如下图。 img

Q: 支持哪些框架?

A: 任何可以容器化的 Web 应用都支持,包括但不限于:

  • Gradio
  • Streamlit
  • FastAPI
  • Flask
  • Next.js
  • Vue/React
Q: 部署失败怎么办?

A: 检查以下几点:

  1. 确保仓库包含 Dockerfile
  2. 确保应用监听正确的端口(默认 7860)
  3. 查看部署日志中的错误信息

🛠️ 技术栈

  • 后端: FastAPI + Pydantic (类型安全)
  • 前端: HTMX + DaisyUI
  • 部署: HuggingFace Hub API
  • 实时更新: Server-Sent Events

📦 安装配置

点击展开详细配置

环境变量配置

创建 .env 文件:

# Redis 配置(可选,用于持久化任务状态)
REDIS_URL=redis://localhost:6379

依赖安装

# 使用 pip
pip install -r requirements.txt

# 或使用 poetry
poetry install

开发模式

# 开启热重载
uvicorn main:app --reload --port 7860

🤝 贡献指南

欢迎贡献!无论是:

  • 🐛 报告 Bug
  • 💡 提出新功能
  • 📖 改进文档
  • 🔧 提交代码

📄 许可证

本项目采用 GPL-3.0 许可证。

🌟 Star History

如果这个项目对您有帮助,请给个 Star ⭐️!


Made with ❤️ for the HuggingFace Community

了解 HF Spaces报告问题前端文档

About

将你的项目一键部署到huggingface spaces

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 59.1%
  • CSS 16.5%
  • JavaScript 11.7%
  • Python 11.4%
  • Other 1.3%