FROM node:20-alpine AS builder WORKDIR /app COPY package.json package-lock.json pnpm-lock.yaml ./ RUN npm install -g pnpm RUN pnpm install --no-frozen-lockfile COPY . . RUN pnpm build FROM node:20-alpine AS runner ENV NODE_ENV=production WORKDIR /app RUN apk add --no-cache curl wget RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone/. ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static USER nextjs EXPOSE 3001 ENV PORT=3001 ENV HOSTNAME=0.0.0.0 CMD ["node", "server.js"]