FROM node:22-alpine AS builder WORKDIR /app # Install pnpm RUN corepack enable && corepack prepare pnpm@latest --activate # Copy package files COPY package.json pnpm-lock.yaml* ./ # Install dependencies RUN pnpm install --frozen-lockfile # Copy source COPY . . # Build RUN pnpm build # Production stage FROM node:22-alpine AS runner WORKDIR /app # Install pnpm RUN corepack enable && corepack prepare pnpm@latest --activate # Copy package files and install production deps only COPY package.json pnpm-lock.yaml* ./ RUN pnpm install --frozen-lockfile --prod # Copy built files COPY --from=builder /app/dist ./dist # Create non-root user RUN addgroup --system --gid 1001 nodejs && \ adduser --system --uid 1001 nestjs USER nestjs EXPOSE 3050 CMD ["node", "dist/main"]