FROM oven/bun:alpine AS base #1. Install dependencies FROM base AS deps WORKDIR /app COPY package.json bun.lockb ./ RUN bun install --frozen-lockfile #2. Build the sources FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . COPY .env .env.production RUN bun run build #3. Create the production image FROM base AS runner WORKDIR /app ENV NODE_ENV=production RUN addgroup -g 1001 -S nodejs RUN adduser -S nextjs -u 1001 COPY --from=builder /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 3000 ENV PORT 3000 ENV HOSTNAME localhost CMD ["node", "server.js"]