From a6b246cdf38bf7c9b273e1c218eb6dcaf27d444c Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 5 Sep 2025 12:52:06 +0300 Subject: [PATCH] improve dockerfile --- Dockerfile | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1a6524c..a0a26d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,8 +50,10 @@ RUN echo "# PRODUCTION BUILD ENVIRONMENT VARIABLES" > .env.production && \ COPY . . ENV NODE_ENV=production +ENV NODE_OPTIONS="--max-old-space-size=4096" +ENV ENABLE_REACT_COMPILER=false -RUN NODE_OPTIONS="--max-old-space-size=4096" dotenv -e .env.local -- pnpm build +RUN dotenv -e .env.local -- pnpm build # --- Stage 2: Runtime --- FROM node:20-alpine @@ -59,13 +61,26 @@ ARG APP_ENV=production WORKDIR /app -COPY --from=builder /app ./ +RUN npm install -g pnpm@9 + +# Copy package files for dependency installation +COPY --from=builder /app/package.json ./ +COPY --from=builder /app/pnpm-lock.yaml ./ +COPY --from=builder /app/pnpm-workspace.yaml ./ +COPY --from=builder /app/packages ./packages +COPY --from=builder /app/tooling ./tooling + +# Install production dependencies +RUN pnpm install --prod --frozen-lockfile + +# Copy the built Next.js application +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/public ./public + +# Copy environment files COPY --from=builder /app/.env.${APP_ENV} .env.production COPY --from=builder /app/.env.local .env.local -RUN npm install -g pnpm@9 \ - && pnpm install --prod --frozen-lockfile - ENV NODE_ENV=production # 🔍 Optional: Log key envs for debug