leonsimon23's picture
Update Dockerfile
18428ee verified
# 使用官方Python 3.9 slim镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# --- 1. 准备工作:安装git ---
# 更新包列表并安装git,--no-install-recommends 避免安装不必要的包
RUN apt-get update && apt-get install -y --no-install-recommends git
# --- 2. 关键步骤:使用现代的、安全的 secrets 挂载方式克隆私有仓库 ---
# 请确保您的 Hugging Face Space Secrets 的名字与这里的 id 完全匹配。
# id=GH_USER 对应名为 GH_USER 的 secret。
# id=GH_TOKEN 对应名为 GH_TOKEN 的 secret。
#
# !! 重要 !!
# 请将下面的 'leoncool23/ducg-modeler-app.git' 替换为您自己的 GitHub 用户名和仓库名。
RUN --mount=type=secret,id=GH_USER \
--mount=type=secret,id=GH_TOKEN \
git clone https://$(cat /run/secrets/GH_USER):$(cat /run/secrets/GH_TOKEN)@github.com/leoncool23/DUCG_Modeler.git .
# --- 3. 设置Python环境 ---
# 安装 requirements.txt 文件中定义的所有依赖
RUN pip install --no-cache-dir -r requirements.txt
# --- 4. 运行应用 ---
# 暴露 Hugging Face Spaces 期望的标准端口 7860
EXPOSE 7860
# 使用 gunicorn 启动 Flask 应用。
# gunicorn 是一个生产级的 WSGI 服务器,比 Flask 自带的开发服务器更稳定。
# "--bind", "0.0.0.0:7860" 使应用可以从外部访问。
# "app:app" 指的是运行 app.py 文件中的 app 实例。
CMD ["gunicorn", "--workers", "1", "--bind", "0.0.0.0:7860", "app:app"]