jesonouyang commited on
Commit
e3fda50
·
verified ·
1 Parent(s): 0ba4194

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -13
Dockerfile CHANGED
@@ -2,35 +2,39 @@ FROM node:18-alpine as builder
2
  RUN apk add --no-cache git
3
  RUN mkdir /app
4
  WORKDIR /app
5
- # 克隆指定仓库代替COPY
6
  RUN git clone https://github.com/qwertyuiopasdfghjklzxcvbnm0987654321/weibo-rss .
7
 
8
- # 修改TypeScript配置解决编译错误
9
- RUN sed -i '/"compilerOptions"/a \ \ "skipLibCheck": true,' tsconfig.json
 
10
 
11
- # 生成lock文件并安装依赖
12
  RUN npm i -g npm && npm install --package-lock-only
13
  RUN npm ci --ignore-scripts
14
 
15
- # 临时修复node-network-devtools路径问题
16
- RUN sed -i 's/___dirname/__dirname/g' node_modules/node-network-devtools/dist/src/core/fork.d.ts
 
17
 
18
  RUN npm run build
19
 
20
  FROM node:18-alpine
21
  LABEL maintainer="https://github.com/zgq354/weibo-rss"
22
- RUN mkdir /app
 
 
 
23
  WORKDIR /app
24
 
25
- # container init
26
- 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 && \
27
- echo "057ecd4ac1d3c3be31f82fc0848bf77b1326a975b4f8423fe31607205a0fe945 /usr/local/bin/dumb-init" | sha256sum -c - && \
28
- chmod 755 /usr/local/bin/dumb-init
 
29
 
30
- COPY --from=builder /app/package.json /app/package-lock.json ./
31
  RUN npm install --production
32
 
33
- COPY --from=builder /app ./
34
 
35
  EXPOSE 3000
36
  ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
 
2
  RUN apk add --no-cache git
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
+ COPY --from=builder --chown=node:node /app/package.json /app/package-lock.json ./
35
  RUN npm install --production
36
 
37
+ COPY --from=builder --chown=node:node /app ./
38
 
39
  EXPOSE 3000
40
  ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]