# Stage 1: Build the Next.js application FROM node:20-alpine AS builder WORKDIR /app COPY package.json package-lock.json ./ RUN corepack enable RUN npm install COPY . . ARG NEXT_PUBLIC_API_BASE_URL ENV NEXT_PUBLIC_API_BASE_URL=$NEXT_PUBLIC_API_BASE_URL RUN echo "NEXT_PUBLIC_API_BASE_URL in Dockerfile build stage is: [$NEXT_PUBLIC_API_BASE_URL]" RUN npm run build # Stage 2: Production environment FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production COPY --from=builder /app/.next ./.next COPY --from=builder /app/public ./public COPY --from=builder /app/package.json ./package.json COPY --from=builder /app/package-lock.json ./package-lock.json RUN corepack enable RUN npm install EXPOSE 3000 CMD ["npm", "start"]