FROM node:20-bookworm-slim AS builder WORKDIR /app COPY package.json pnpm-lock.yaml ./ RUN corepack enable \ && pnpm install --frozen-lockfile COPY . . RUN pnpm build FROM node:20-bookworm-slim AS runner WORKDIR /app ENV NODE_ENV=production COPY package.json pnpm-lock.yaml ./ RUN corepack enable \ && pnpm install --prod --frozen-lockfile \ && mkdir -p /app/uploads COPY --from=builder /app/dist ./dist EXPOSE 3000 VOLUME ["/app/uploads"] CMD ["node", "dist/main.js"]