jesonouyang commited on
Commit
685c99c
·
verified ·
1 Parent(s): 92abd4c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +30 -11
Dockerfile CHANGED
@@ -3,25 +3,44 @@ RUN apk add --no-cache git
3
  RUN mkdir /app
4
  WORKDIR /app
5
  RUN git clone https://github.com/qwertyuiopasdfghjklzxcvbnm0987654321/weibo-rss .
 
 
 
 
 
6
  RUN npm i -g npm && npm install --package-lock-only
7
- RUN npm ci --ignore-scripts && npm run build
 
 
 
 
 
 
8
 
9
  FROM node:18-alpine
10
  LABEL maintainer="https://github.com/zgq354/weibo-rss"
 
 
 
11
 
12
- # 添加依赖安装步骤
13
- RUN apk add --no-cache wget
14
 
15
- # 修正dumb-init安装路径
16
- RUN wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 \
17
- && echo "057ecd4ac1d3c3be31f82fc0848bf77b1326a975b4f8423fe31607205a0fe945 /usr/bin/dumb-init" | sha256sum -c - \
18
- && chmod +x /usr/bin/dumb-init
19
 
20
- WORKDIR /app
21
- COPY --from=builder /app/package.json /app/package-lock.json ./
 
 
 
 
 
 
 
22
  RUN npm install --production
23
- COPY --from=builder /app ./
 
24
 
25
  EXPOSE 3000
26
- ENTRYPOINT ["/usr/bin/dumb-init", "--"]
27
  CMD ["node", "/app/dist/app.js"]
 
3
  RUN mkdir /app
4
  WORKDIR /app
5
  RUN git clone https://github.com/qwertyuiopasdfghjklzxcvbnm0987654321/weibo-rss .
6
+
7
+ # 修复路径相关配置
8
+ RUN sed -i 's|./data|/app/data|g' src/config.ts && \
9
+ sed -i '/"compilerOptions"/a \ \ "skipLibCheck": true,' tsconfig.json
10
+
11
  RUN npm i -g npm && npm install --package-lock-only
12
+ RUN npm ci --ignore-scripts
13
+
14
+ # 创建数据目录并设置权限
15
+ RUN mkdir -p /app/data/rss-data && \
16
+ chmod -R 777 /app/data
17
+
18
+ RUN npm run build
19
 
20
  FROM node:18-alpine
21
  LABEL maintainer="https://github.com/zgq354/weibo-rss"
22
+ RUN mkdir -p /app/data && \
23
+ chown -R node:node /app && \
24
+ chmod -R 755 /app
25
 
26
+ WORKDIR /app
 
27
 
28
+ # 使用非root用户运行
29
+ USER node
 
 
30
 
31
+ # 确保数据目录存在
32
+ RUN mkdir -p /app/data/rss-data
33
+
34
+ # container init
35
+ RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 && \
36
+ echo "057ecd4ac1d3c3be31f82fc0848bf77b1326a975b4f8423fe31607205a0fe945 /usr/local/bin/dumb-init" | sha256sum -c - && \
37
+ chmod 755 /usr/local/bin/dumb-init
38
+
39
+ COPY --from=builder --chown=node:node /app/package.json /app/package-lock.json ./
40
  RUN npm install --production
41
+
42
+ COPY --from=builder --chown=node:node /app ./
43
 
44
  EXPOSE 3000
45
+ ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
46
  CMD ["node", "/app/dist/app.js"]