xjf666 commited on
Commit
4610ec6
·
verified ·
1 Parent(s): 88ad6e2

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +41 -0
Dockerfile ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:22 AS builder
2
+
3
+ WORKDIR /app
4
+
5
+ # 安装 pnpm
6
+ RUN npm install -g pnpm
7
+
8
+ # 获取项目代码
9
+ RUN git clone https://github.com/corentinth/enclosed.git ./
10
+
11
+ # 安装项目依赖
12
+ RUN pnpm install --frozen-lockfile --ignore-scripts
13
+
14
+ # 构建项目
15
+ RUN pnpm --filter @enclosed/crypto run build && \
16
+ pnpm --filter @enclosed/lib run build && \
17
+ pnpm --filter @enclosed/app-client run build && \
18
+ pnpm --filter @enclosed/app-server run build:node
19
+
20
+ FROM node:22-slim
21
+
22
+ WORKDIR /app
23
+
24
+ COPY --from=builder /app/packages/app-client/dist ./public
25
+ COPY --from=builder /app/packages/app-server/dist-node/index.cjs ./index.cjs
26
+
27
+ RUN mkdir -p /persistent/.data && \
28
+ rm -rf /app/.data && \
29
+ ln -s /persistent/.data /app/.data
30
+
31
+ RUN chmod -R 777 /persistent/.data
32
+
33
+ # 设置环境变量
34
+ ENV NODE_ENV=production
35
+ ENV PORT=7860
36
+
37
+ # 暴露端口
38
+ EXPOSE 7860
39
+
40
+ # 启动应用程序
41
+ CMD ["node", "index.cjs"]