FROM node:25.7-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN npm install -g pnpm@10.30.3 WORKDIR /app COPY package.json pnpm-lock.yaml ./ FROM base AS prod-deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --config.autoInstallPeers=false FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile --config.autoInstallPeers=false COPY . . RUN pnpm run docs:build FROM base ENV NODE_ENV=production COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=build /app/docs/.vitepress/dist /app/docs/.vitepress/dist EXPOSE 4173 CMD ["pnpm", "docs:preview"]