From 185679054aa755b1384ed7c651cd6531eedfe9c8 Mon Sep 17 00:00:00 2001 From: duynguyen Date: Sun, 10 May 2026 16:17:08 +0700 Subject: [PATCH] refactor(docker): drop deps stage and remove .env from image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deps stage cache doesn't survive DinD CI restarts — merged into builder. .env removed from image; runtime env injected via K8s deployment. --- Dockerfile | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 163fa68..ca37737 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,27 +1,16 @@ -FROM node:24.0.1-alpine AS deps - -WORKDIR /app - -RUN apk add --no-cache libc6-compat - -COPY package.json package-lock.json ./ -RUN npm install --legacy-peer-deps - - FROM node:24.0.1-alpine AS builder WORKDIR /app ENV NEXT_TELEMETRY_DISABLED=1 -COPY --from=deps /app/node_modules ./node_modules +RUN apk add --no-cache libc6-compat + +COPY package.json package-lock.json ./ +RUN npm install --legacy-peer-deps -# Copy source + .env vào build context COPY . . -# Đảm bảo .env có trong builder stage -COPY .env .env - RUN npm run build @@ -39,9 +28,6 @@ COPY --from=builder /app/public ./public COPY --from=builder --chown=1001:1001 /app/.next/standalone ./ COPY --from=builder --chown=1001:1001 /app/.next/static ./.next/static -# Copy .env vào runtime để next.config rewrites đọc được khi server start -COPY --from=builder /app/.env ./.env - USER 1001 ENV PORT=3000 @@ -49,4 +35,4 @@ ENV HOSTNAME=0.0.0.0 EXPOSE 3000 -CMD ["node", "server.js"] \ No newline at end of file +CMD ["node", "server.js"]