# syntax=docker/dockerfile:1 FROM node:24-alpine AS builder WORKDIR /app ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0 COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ RUN corepack enable && corepack prepare pnpm@11.9.0 --activate && pnpm --version RUN --mount=type=cache,target=/root/.local/share/pnpm/store \ pnpm install --frozen-lockfile COPY . . RUN pnpm run build RUN find build -type f -name '*.map' -delete FROM node:24-alpine WORKDIR /app ENV NODE_ENV=production \ HOST=0.0.0.0 \ PORT=5173 RUN apk add --no-cache curl COPY --from=builder --chown=node:node /app/package.json ./ COPY --from=builder --chown=node:node /app/build ./build EXPOSE 5173 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD curl -f http://localhost:5173/ || exit 1 USER node CMD ["node", "build"]