fqa / Dockerfile
xcolorday's picture
Update Dockerfile
24cc890 verified
Raw
History Blame Contribute Delete
1.2 kB
# 使用官方 Node.js 运行时作为基础镜像
FROM node:18-slim
# 设置工作目录
WORKDIR /app
# 安装 Playwright 依赖
RUN apt-get update && apt-get install -y \
wget \
gnupg \
ca-certificates \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list \
&& apt-get update && apt-get install -y google-chrome-stable fonts-noto-color-emoji \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# 安装 Playwright 浏览器
RUN npm init -y && npm install playwright && npx playwright install-deps && npx playwright install chrome
# 复制 package.json 和 package-lock.json(如果存在)
COPY package*.json ./
# 安装依赖
RUN npm ci --only=production
# 复制应用代码
COPY . .
# 暴露 Hugging Face Spaces 要求的端口
EXPOSE 7860
# 设置非 root 用户
RUN addgroup --gid 1001 --system appgroup \
&& adduser --uid 1001 --system appuser --ingroup appgroup
# 更改文件所有权
RUN chown -R appuser:appgroup /app
# 切换到非 root 用户
USER 1001
# 启动应用
CMD ["npm", "start"]