# Stage 1: Builder FROM node:22-alpine AS builder RUN corepack enable && corepack prepare pnpm@latest --activate WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile COPY . . RUN pnpm run build # Stage 2: Production FROM node:22-alpine RUN corepack enable && corepack prepare pnpm@latest --activate RUN addgroup -g 1001 -S nodejs && \ adduser -S nodejs -u 1001 WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN pnpm install --frozen-lockfile --prod && pnpm store prune COPY --from=builder --chown=nodejs:nodejs /app/dist ./dist USER nodejs EXPOSE 3001 CMD ["node", "dist/main"]