FROM node:20-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable COPY . /app WORKDIR /app FROM base AS prod-deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm run build # Stage 2: Minimal image for exporting build artifacts FROM alpine:latest # Set working directory for output WORKDIR /app # Copy the built files from the builder stage COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=build /app/build . # No CMD because this image is just used to extract build files