DeanXv/playwright-proxy
0
1# 基础镜像:使用 Node.js 20 的 Alpine Linux 版本2FROM node:20-alpine3 4# 设置工作目录5WORKDIR /app6 7# 安装系统依赖8RUN apk add --no-cache \9 # 基本构建工具10 python3 \11 make \12 g++ \13 # Playwright 依赖14 chromium \15 nss \16 freetype \17 freetype-dev \18 harfbuzz \19 ca-certificates \20 ttf-freefont \21 # 其他依赖22 gcompat23 24# 设置 Playwright 的环境变量25ENV PLAYWRIGHT_BROWSERS_PATH=/usr/bin26ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=127ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser28ENV PLAYWRIGHT_SKIP_BROWSER_VALIDATION=129 30# 复制依赖文件并安装31COPY package*.json tsconfig.json ./32RUN npm install33 34# 复制源代码和静态文件35COPY src/ ./src/36COPY index.html ./index.html37RUN npm run build38 39# 创建非 root 用户和用户组40RUN addgroup -S -g 1001 nodejs && \41 adduser -S -D -H -u 1001 -G nodejs hono42 43# 设置应用文件的所有权44RUN chown -R hono:nodejs /app45 46# 切换到非 root 用户47USER hono48 49# 声明容器要暴露的端口50EXPOSE 786051ENV PORT=786052 53# 启动应用54CMD ["node", "dist/index.js"]55 