# syntax=docker/dockerfile:1 FROM node:25-alpine AS builder WORKDIR /build RUN npm install -g pnpm@10 COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./ COPY packages ./packages RUN --mount=type=cache,target=/root/.local/share/pnpm/store \ pnpm install ARG VITE_API_URL=http://localhost:8080 ARG VITE_AGENT_URL=http://localhost:8081 ENV VITE_API_URL=$VITE_API_URL ENV VITE_AGENT_URL=$VITE_AGENT_URL WORKDIR /build/packages/web RUN pnpm build FROM nginx:alpine COPY --from=builder /build/packages/web/dist /usr/share/nginx/html COPY docker/config/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost/health || exit 1 CMD ["nginx", "-g", "daemon off;"]