CatPtain commited on
Commit
66109f3
·
verified ·
1 Parent(s): e1ee0a8

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -4
Dockerfile CHANGED
@@ -9,42 +9,53 @@ RUN apk add --no-cache \
9
  harfbuzz \
10
  ca-certificates \
11
  ttf-freefont \
 
12
  bash \
13
  curl \
14
  && rm -rf /var/cache/apk/*
15
 
16
  # 设置Puppeteer使用系统Chrome
17
  ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
18
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
 
 
19
 
20
- # 安装必要的系统依赖
21
- RUN apk add --no-cache bash curl
 
22
 
23
  # 设置工作目录
24
  WORKDIR /app
25
 
26
  # 复制前端所有文件(包括配置文件)
27
  COPY frontend/ ./frontend/
 
28
 
29
  # 复制后端package.json
30
  COPY backend/package*.json ./backend/
31
 
32
  # 安装前端依赖并构建
33
  WORKDIR /app/frontend
 
34
  RUN npm install
35
  RUN npm run build
36
 
37
- # 安装后端依赖
 
38
  WORKDIR /app/backend
39
  RUN npm install --omit=dev
40
 
41
  # 复制后端代码
42
  WORKDIR /app
43
  COPY backend/ ./backend/
 
44
 
45
  # 设置工作目录为后端
46
  WORKDIR /app/backend
47
 
 
 
 
48
  # 暴露端口
49
  EXPOSE 7860
50
 
 
9
  harfbuzz \
10
  ca-certificates \
11
  ttf-freefont \
12
+ wqy-zenhei \
13
  bash \
14
  curl \
15
  && rm -rf /var/cache/apk/*
16
 
17
  # 设置Puppeteer使用系统Chrome
18
  ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
19
+ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser \
20
+ CHROME_BIN=/usr/bin/chromium-browser \
21
+ PUPPETEER_ARGS="--no-sandbox --disable-setuid-sandbox --disable-dev-shm-usage"
22
 
23
+ # 创建非root用户
24
+ RUN addgroup -g 1001 -S nodejs
25
+ RUN adduser -S nodejs -u 1001
26
 
27
  # 设置工作目录
28
  WORKDIR /app
29
 
30
  # 复制前端所有文件(包括配置文件)
31
  COPY frontend/ ./frontend/
32
+ RUN chown -R nodejs:nodejs ./frontend
33
 
34
  # 复制后端package.json
35
  COPY backend/package*.json ./backend/
36
 
37
  # 安装前端依赖并构建
38
  WORKDIR /app/frontend
39
+ USER nodejs
40
  RUN npm install
41
  RUN npm run build
42
 
43
+ # 切换回root安装后端依赖
44
+ USER root
45
  WORKDIR /app/backend
46
  RUN npm install --omit=dev
47
 
48
  # 复制后端代码
49
  WORKDIR /app
50
  COPY backend/ ./backend/
51
+ RUN chown -R nodejs:nodejs ./backend
52
 
53
  # 设置工作目录为后端
54
  WORKDIR /app/backend
55
 
56
+ # 切换到nodejs用户
57
+ USER nodejs
58
+
59
  # 暴露端口
60
  EXPOSE 7860
61