| # 使用轻量级 Python 镜像 | |
| FROM python:3.10-slim | |
| # 安装系统依赖(Playwright 所需的库和渲染引擎) | |
| RUN apt-get update && apt-get install -y \ | |
| wget \ | |
| gnupg \ | |
| libnss3 \ | |
| libatk1.0-0 \ | |
| libatk-bridge2.0-0 \ | |
| libcups2 \ | |
| libdrm2 \ | |
| libxcomposite1 \ | |
| libxdamage1 \ | |
| libxext6 \ | |
| libxfixes3 \ | |
| libxrandr2 \ | |
| libgbm1 \ | |
| libasound2 \ | |
| libpangocairo-1.0-0 \ | |
| libxkbcommon0 \ | |
| libgtk-3-0 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 创建非 root 用户以符合 Hugging Face 安全规范 | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| ENV ORM_UPGRADE_ON_START=true | |
| ENV ALEMBIC_STARTUP_CHECK=false | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 复制依赖文件并安装 (切换到用户后再安装) | |
| COPY --chown=user requirements.txt . | |
| RUN pip install --no-cache-dir --user -r requirements.txt | |
| # 安装 Playwright 浏览器 | |
| RUN python -m playwright install chromium | |
| # 复制项目代码 | |
| COPY --chown=user . . | |
| # Hugging Face Spaces 暴露 7860 端口 | |
| EXPOSE 7860 | |
| # 运行机器人 | |
| CMD ["python", "bot.py"] | |