CatPtain commited on
Commit
53b3f60
·
verified ·
1 Parent(s): 1ba8490

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +69 -69
Dockerfile CHANGED
@@ -1,70 +1,70 @@
1
- # HF Spaces Dockerfile - 精简全球字体支持
2
- FROM node:18-slim
3
-
4
- # 安装必要的系统依赖和 Chrome
5
- RUN apt-get update && apt-get install -y \
6
- wget \
7
- gnupg \
8
- ca-certificates \
9
- && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
10
- && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
11
- && apt-get update && apt-get install -y \
12
- google-chrome-stable \
13
- fonts-noto-core \
14
- fonts-noto-cjk \
15
- fonts-noto-color-emoji \
16
- libappindicator3-1 \
17
- libasound2 \
18
- libatk-bridge2.0-0 \
19
- libdrm2 \
20
- libgtk-3-0 \
21
- libnspr4 \
22
- libnss3 \
23
- libx11-xcb1 \
24
- libxcomposite1 \
25
- libxdamage1 \
26
- libxrandr2 \
27
- libgbm1 \
28
- libxss1 \
29
- libgconf-2-4 \
30
- --no-install-recommends \
31
- && rm -rf /var/lib/apt/lists/* \
32
- && fc-cache -fv
33
-
34
- # 创建非 root 用户
35
- RUN groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
36
- && mkdir -p /home/pptruser/Downloads \
37
- && chown -R pptruser:pptruser /home/pptruser
38
-
39
- # 设置工作目录
40
- WORKDIR /app
41
-
42
- # 复制 package 文件
43
- COPY package*.json ./
44
-
45
- # 清理 npm cache 并安装依赖
46
- RUN npm cache clean --force \
47
- # && npm ci --omit=dev --no-audit --no-fund \
48
- && npm install --only=production --no-audit --no-fund \
49
- && npm cache clean --force
50
-
51
- # 复制应用代码
52
- COPY . .
53
-
54
- # 更改所有权
55
- RUN chown -R pptruser:pptruser /app
56
-
57
- # 切换到非 root 用户
58
- USER pptruser
59
-
60
- # 设置环境变量
61
- ENV NODE_ENV=production
62
- ENV PORT=7860
63
- ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
64
- ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable
65
-
66
- # 暴露端口
67
- EXPOSE 7860
68
-
69
- # 启动命令
70
  CMD ["npm", "start"]
 
1
+ # HF Spaces Dockerfile - 精简全球字体支持
2
+ FROM node:18-slim
3
+
4
+ # 安装必要的系统依赖和 Chrome
5
+ RUN apt-get update && apt-get install -y \
6
+ wget \
7
+ gnupg \
8
+ ca-certificates \
9
+ && wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
10
+ && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
11
+ && apt-get update && apt-get install -y \
12
+ google-chrome-stable \
13
+ fonts-noto-core \
14
+ fonts-noto-cjk \
15
+ fonts-noto-color-emoji \
16
+ libappindicator3-1 \
17
+ libasound2 \
18
+ libatk-bridge2.0-0 \
19
+ libdrm2 \
20
+ libgtk-3-0 \
21
+ libnspr4 \
22
+ libnss3 \
23
+ libx11-xcb1 \
24
+ libxcomposite1 \
25
+ libxdamage1 \
26
+ libxrandr2 \
27
+ libgbm1 \
28
+ libxss1 \
29
+ libgconf-2-4 \
30
+ --no-install-recommends \
31
+ && rm -rf /var/lib/apt/lists/* \
32
+ && fc-cache -fv
33
+
34
+ # 创建非 root 用户
35
+ RUN groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
36
+ && mkdir -p /home/pptruser/Downloads \
37
+ && chown -R pptruser:pptruser /home/pptruser
38
+
39
+ # 设置工作目录
40
+ WORKDIR /app
41
+
42
+ # 复制 package 文件
43
+ COPY package*.json ./
44
+
45
+ # 清理 npm cache 并安装依赖
46
+ RUN npm cache clean --force \
47
+ && npm ci --omit=dev --no-audit --no-fund \
48
+ # && npm install --only=production --no-audit --no-fund \
49
+ && npm cache clean --force
50
+
51
+ # 复制应用代码
52
+ COPY . .
53
+
54
+ # 更改所有权
55
+ RUN chown -R pptruser:pptruser /app
56
+
57
+ # 切换到非 root 用户
58
+ USER pptruser
59
+
60
+ # 设置环境变量
61
+ ENV NODE_ENV=production
62
+ ENV PORT=7860
63
+ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
64
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable
65
+
66
+ # 暴露端口
67
+ EXPOSE 7860
68
+
69
+ # 启动命令
70
  CMD ["npm", "start"]