Programmer-RD-AI commited on
Commit
db7e25a
·
1 Parent(s): 88bfeff

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -7
Dockerfile CHANGED
@@ -4,25 +4,28 @@ FROM base AS deps
4
  RUN apk add --no-cache libc6-compat
5
  WORKDIR /app
6
 
7
- # Install pnpm
8
  RUN corepack enable && corepack prepare pnpm@latest --activate
9
 
10
  COPY package.json pnpm-lock.yaml* ./
 
 
 
 
 
11
  RUN pnpm install --frozen-lockfile
12
 
13
  FROM base AS builder
14
  WORKDIR /app
15
 
16
- # Install pnpm
17
  RUN corepack enable && corepack prepare pnpm@latest --activate
18
 
19
  COPY --from=deps /app/node_modules ./node_modules
20
  COPY . .
21
 
22
- # Disable Next.js telemetry
23
  ENV NEXT_TELEMETRY_DISABLED 1
 
 
24
 
25
- # Build with standalone output
26
  RUN pnpm run build
27
 
28
  FROM base AS runner
@@ -34,15 +37,14 @@ ENV NEXT_TELEMETRY_DISABLED 1
34
  RUN addgroup --system --gid 1001 nodejs
35
  RUN adduser --system --uid 1001 nextjs
36
 
37
- # Copy only what's needed for standalone
38
  COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
39
  COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
40
  COPY --from=builder --chown=nextjs:nodejs /app/public ./public
41
 
42
  USER nextjs
43
 
44
- EXPOSE 3000
45
- ENV PORT 3000
46
  ENV HOSTNAME "0.0.0.0"
47
 
48
  CMD ["node", "server.js"]
 
4
  RUN apk add --no-cache libc6-compat
5
  WORKDIR /app
6
 
 
7
  RUN corepack enable && corepack prepare pnpm@latest --activate
8
 
9
  COPY package.json pnpm-lock.yaml* ./
10
+
11
+ # Install only production dependencies first to reduce memory footprint
12
+ RUN pnpm install --prod --frozen-lockfile
13
+
14
+ # Then install dev dependencies
15
  RUN pnpm install --frozen-lockfile
16
 
17
  FROM base AS builder
18
  WORKDIR /app
19
 
 
20
  RUN corepack enable && corepack prepare pnpm@latest --activate
21
 
22
  COPY --from=deps /app/node_modules ./node_modules
23
  COPY . .
24
 
 
25
  ENV NEXT_TELEMETRY_DISABLED 1
26
+ # Limit Node memory to prevent OOM kills
27
+ ENV NODE_OPTIONS="--max-old-space-size=4096"
28
 
 
29
  RUN pnpm run build
30
 
31
  FROM base AS runner
 
37
  RUN addgroup --system --gid 1001 nodejs
38
  RUN adduser --system --uid 1001 nextjs
39
 
 
40
  COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
41
  COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
42
  COPY --from=builder --chown=nextjs:nodejs /app/public ./public
43
 
44
  USER nextjs
45
 
46
+ EXPOSE 7860
47
+ ENV PORT 7860
48
  ENV HOSTNAME "0.0.0.0"
49
 
50
  CMD ["node", "server.js"]