# syntax=docker/dockerfile:1 FROM node:20-alpine AS builder RUN corepack enable WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile COPY . . RUN pnpm run build FROM node:20-alpine AS runner RUN corepack enable WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile --prod COPY server/ ./server/ COPY --from=builder /app/dist ./dist ENV NODE_ENV=production USER node CMD ["node", "server/index.js"]