Benny-Tang commited on
Commit
ec4ebb4
·
verified ·
1 Parent(s): 8ca5b64

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -24
Dockerfile CHANGED
@@ -1,13 +1,15 @@
1
- # Multi-stage build for optimal image size
2
- FROM node:22-alpine AS builder
3
 
4
  WORKDIR /app
5
 
 
 
 
6
  # Copy package files
7
  COPY package.json ./
8
 
9
- # Install pnpm and dependencies
10
- RUN npm install -g pnpm && pnpm install
11
 
12
  # Copy source code
13
  COPY . .
@@ -15,31 +17,14 @@ COPY . .
15
  # Build the application
16
  RUN pnpm build
17
 
18
- # Production stage
19
- FROM node:22-alpine
20
-
21
- WORKDIR /app
22
-
23
- # Install pnpm in production image
24
- RUN npm install -g pnpm
25
-
26
- # Copy package files from builder
27
- COPY package.json ./
28
-
29
- # Install production dependencies only
30
- RUN pnpm install --prod
31
-
32
- # Copy built application from builder
33
- COPY --from=builder /app/dist ./dist
34
- COPY --from=builder /app/client/dist ./client/dist
35
- COPY --from=builder /app/drizzle ./drizzle
36
-
37
  # Set environment to production
38
  ENV NODE_ENV=production
 
39
 
40
  # Expose port
41
  EXPOSE 3000
42
 
43
  # Start the application
44
- CMD ["node", "dist/index.js"]
 
45
 
 
1
+ FROM node:22-alpine
 
2
 
3
  WORKDIR /app
4
 
5
+ # Install pnpm
6
+ RUN npm install -g pnpm
7
+
8
  # Copy package files
9
  COPY package.json ./
10
 
11
+ # Install dependencies
12
+ RUN pnpm install
13
 
14
  # Copy source code
15
  COPY . .
 
17
  # Build the application
18
  RUN pnpm build
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  # Set environment to production
21
  ENV NODE_ENV=production
22
+ PORT=3000
23
 
24
  # Expose port
25
  EXPOSE 3000
26
 
27
  # Start the application
28
+ CMD ["pnpm", "start"]
29
+
30