FROM node:20-alpine AS builder ARG CACHE_BUST=1 ENV NODE_ENV=development WORKDIR /app COPY package.json package-lock.json* ./ COPY packages/shared/package.json ./packages/shared/ RUN npm install COPY packages/shared/ ./packages/shared/ COPY . . RUN npx next build FROM node:20-alpine AS runner WORKDIR /app RUN apk add --no-cache dumb-init RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/static ./.next/static ENV NODE_ENV=production HOSTNAME=0.0.0.0 EXPOSE 3003 USER nextjs ENTRYPOINT ["dumb-init", "--"] CMD ["node", "server.js"]