# 轻量级 HF Spaces Dockerfile | |
FROM ghcr.io/puppeteer/puppeteer:21.5.2 | |
# 切换到 root 用户进行安装 | |
USER root | |
# 安装额外的字体和依赖 | |
RUN apt-get update && apt-get install -y \ | |
fonts-liberation \ | |
fonts-dejavu-core \ | |
&& rm -rf /var/lib/apt/lists/* | |
# 设置工作目录 | |
WORKDIR /usr/src/app | |
# 复制 package 文件 | |
COPY package*.json ./ | |
# 安装依赖 | |
RUN npm ci --only=production && npm cache clean --force | |
# 复制应用代码 | |
COPY . . | |
# 切换回非 root 用户 | |
USER pptruser | |
# 设置环境变量 | |
ENV NODE_ENV=production | |
ENV PORT=7860 | |
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable | |
# 暴露端口 | |
EXPOSE 7860 | |
# 启动命令 | |
CMD ["npm", "start"] |