StarrySkyWorld commited on
Commit
1bafdec
·
verified ·
1 Parent(s): a514f92

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +58 -0
Dockerfile ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:18-slim
2
+
3
+ # 设置环境变量
4
+ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
5
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
6
+ ENV NODE_ENV=production
7
+
8
+ # 安装 Chromium 和依赖
9
+ RUN apt-get update && apt-get install -y \
10
+ chromium \
11
+ fonts-liberation \
12
+ fonts-noto-cjk \
13
+ libasound2 \
14
+ libatk-bridge2.0-0 \
15
+ libatk1.0-0 \
16
+ libatspi2.0-0 \
17
+ libcairo2 \
18
+ libcups2 \
19
+ libdbus-1-3 \
20
+ libdrm2 \
21
+ libgbm1 \
22
+ libglib2.0-0 \
23
+ libgtk-3-0 \
24
+ libnspr4 \
25
+ libnss3 \
26
+ libpango-1.0-0 \
27
+ libx11-6 \
28
+ libxcb1 \
29
+ libxcomposite1 \
30
+ libxdamage1 \
31
+ libxext6 \
32
+ libxfixes3 \
33
+ libxkbcommon0 \
34
+ libxrandr2 \
35
+ libxshmfence1 \
36
+ xdg-utils \
37
+ --no-install-recommends \
38
+ && rm -rf /var/lib/apt/lists/* \
39
+ && groupadd -r appuser && useradd -r -g appuser -G audio,video appuser \
40
+ && mkdir -p /home/appuser/Downloads /app \
41
+ && chown -R appuser:appuser /home/appuser /app
42
+
43
+ WORKDIR /app
44
+
45
+ # 复制 package.json 并安装依赖
46
+ COPY --chown=appuser:appuser package*.json ./
47
+ RUN npm install --omit=dev
48
+
49
+ # 复制应用代码
50
+ COPY --chown=appuser:appuser . .
51
+
52
+ # 切换到非 root 用户
53
+ USER appuser
54
+
55
+ # HuggingFace 默认端口
56
+ EXPOSE 7860
57
+
58
+ CMD ["node", "app.js"]