cjo93 commited on
Commit
f13b3dc
·
verified ·
1 Parent(s): f1095a9

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +33 -5
Dockerfile CHANGED
@@ -1,13 +1,41 @@
1
- FROM node:20-slim
2
 
 
 
 
3
  WORKDIR /app
4
-
5
- COPY package*.json ./
6
  RUN npm install
 
 
 
 
 
7
  COPY . .
8
 
 
 
 
 
 
 
9
  RUN npm run build
10
 
11
- EXPOSE 3000
 
 
 
 
 
 
 
12
 
13
- CMD ["npm", "start"]
 
 
 
 
 
 
 
 
 
1
+ FROM node:18-alpine AS base
2
 
3
+ # 1. Install Dependencies
4
+ FROM base AS deps
5
+ RUN apk add --no-cache libc6-compat
6
  WORKDIR /app
7
+ COPY package.json ./
 
8
  RUN npm install
9
+
10
+ # 2. Build the System
11
+ FROM base AS builder
12
+ WORKDIR /app
13
+ COPY --from=deps /app/node_modules ./node_modules
14
  COPY . .
15
 
16
+ # --- CRITICAL FIX ---
17
+ # Remove the legacy Python 'app' folder so Next.js sees 'src/app'
18
+ RUN rm -rf app
19
+ # --------------------
20
+
21
+ ENV NEXT_TELEMETRY_DISABLED 1
22
  RUN npm run build
23
 
24
+ # 3. Production Runner
25
+ FROM base AS runner
26
+ WORKDIR /app
27
+ ENV NODE_ENV production
28
+ ENV NEXT_TELEMETRY_DISABLED 1
29
+
30
+ RUN addgroup --system --gid 1001 nodejs
31
+ RUN adduser --system --uid 1001 nextjs
32
 
33
+ # Copy assets
34
+ COPY --from=builder /app/public ./public
35
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
36
+ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
37
+
38
+ USER nextjs
39
+ EXPOSE 3000
40
+ ENV PORT 3000
41
+ CMD ["node", "server.js"]