Hugging Face Spaces 部署指南
本指南将帮助您将 Turnstile Solver 部署到 Hugging Face Spaces。
📋 前提条件
- 拥有 Hugging Face 账号
- 已安装 Git
🚀 部署步骤
1. 创建新的 Space
- 访问 Hugging Face Spaces
- 点击 "Create new Space"
- 填写以下信息:
- Space name: 您的项目名称(例如:turnstile-solver)
- License: MIT
- Select the Space SDK: Docker
- Space hardware: CPU basic(免费)或更高配置
- 点击 "Create Space"
2. 准备文件
确保您的项目包含以下文件:
.
├── Dockerfile # Docker 配置文件
├── api_solver.py # 主程序文件
├── browser_configs.py # 浏览器配置
├── db_results.py # 数据库操作
├── requirements.txt # Python 依赖
├── proxies.txt # 代理列表(可选)
└── README_HF.md # HF Spaces 说明文档(重命名为 README.md)
3. 上传到 Hugging Face
方法 A: 使用 Git(推荐)
# 克隆您的 Space 仓库
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
# 复制项目文件到仓库
cp /path/to/your/project/* .
# 重命名 README_HF.md 为 README.md
mv README_HF.md README.md
# 提交并推送
git add .
git commit -m "Initial deployment"
git push
方法 B: 使用 Web 界面
- 在 Space 页面点击 "Files and versions"
- 点击 "Add file" > "Upload files"
- 上传所有必需的文件
- 确保将
README_HF.md重命名为README.md
4. 配置 Space
在 Space 的设置中:
Hardware:
- 免费版:CPU basic(2 vCPU, 16GB RAM)
- 推荐:CPU upgrade(8 vCPU, 32GB RAM)用于更好的性能
Environment variables(可选):
- 如果需要,可以添加环境变量
5. 等待部署
- Space 会自动构建 Docker 镜像
- 首次构建可能需要 5-10 分钟
- 构建完成后,服务会自动启动
- 浏览器池初始化需要额外 30-60 秒
6. 验证部署
部署完成后,访问以下端点验证:
# 健康检查
curl https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/health
# 就绪检查
curl https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/ready
# 主页
https://YOUR_USERNAME-YOUR_SPACE_NAME.hf.space/
🔧 配置选项
修改浏览器线程数
在 Dockerfile 中修改启动命令:
CMD ["python", "api_solver.py", "--host", "0.0.0.0", "--port", "7860", "--thread", "8"]
启用代理支持
- 在
proxies.txt中添加代理 - 修改
Dockerfile启动命令:
CMD ["python", "api_solver.py", "--host", "0.0.0.0", "--port", "7860", "--proxy", "--random"]
启用调试模式
CMD ["python", "api_solver.py", "--host", "0.0.0.0", "--port", "7860", "--debug"]
📊 监控和日志
查看日志
- 在 Space 页面点击 "Logs"
- 查看实时日志输出
- 检查浏览器初始化状态
常见日志消息
"Application startup completed, browser initialization in progress..."- 服务已启动,浏览器正在初始化"Browser pool initialized and ready to accept requests"- 服务完全就绪"Successfully solved captcha"- 成功解决验证码
⚠️ 注意事项
启动时间:
- 服务启动后需要 30-60 秒初始化浏览器池
- 在此期间,API 请求会返回 503 错误
- 使用
/ready端点检查就绪状态
资源限制:
- 免费版 CPU 可能导致性能较慢
- 建议使用 CPU upgrade 以获得更好性能
超时设置:
- HF Spaces 有 60 秒的请求超时限制
- 确保验证码求解在此时间内完成
持久化存储:
- Space 重启后数据会丢失
- 数据库结果仅在运行期间保存
🐛 故障排除
Space 一直处于 "Starting" 状态
原因: 服务未能在规定时间内响应健康检查
解决方案:
- 检查 Dockerfile 是否正确暴露端口 7860
- 确保
api_solver.py监听 0.0.0.0:7860 - 查看日志确认是否有错误
浏览器初始化失败
原因: 系统依赖缺失或资源不足
解决方案:
- 检查 Dockerfile 中的系统依赖是否完整
- 升级到更高配置的硬件
- 减少线程数(
--thread 2)
API 返回 503 错误
原因: 浏览器池尚未初始化完成
解决方案:
- 等待 30-60 秒后重试
- 使用
/ready端点检查就绪状态 - 查看日志确认初始化进度
📞 获取帮助
如果遇到问题,请访问:
- 📢 Telegram 频道: https://t.me/D3_vin
- 💬 Telegram 聊天: https://t.me/D3vin_chat
- 📁 GitHub Issues: https://github.com/D3-vin
📄 许可证
本项目仅供教育用途。使用风险自负。