FROM node:lts AS build WORKDIR /workspace ENV CI=true ENV DEVFRONT_BUILD_OUT_DIR=/workspace/devfront/dist RUN corepack enable && corepack prepare pnpm@10.5.2 --activate COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ COPY common ./common COPY devfront ./devfront ARG VITE_DEVFRONT_PUBLIC_URL ARG VITE_OIDC_AUTHORITY ARG VITE_OIDC_CLIENT_ID ENV VITE_DEVFRONT_PUBLIC_URL=$VITE_DEVFRONT_PUBLIC_URL ENV VITE_OIDC_AUTHORITY=$VITE_OIDC_AUTHORITY ENV VITE_OIDC_CLIENT_ID=$VITE_OIDC_CLIENT_ID RUN pnpm install --frozen-lockfile --ignore-scripts WORKDIR /workspace/devfront RUN npm run build FROM node:24-alpine AS production WORKDIR /app ENV NODE_ENV=production ENV FRONTEND_DIST_DIR=/app/dist ENV PORT=5173 COPY scripts/serve_frontend_prod.mjs ./serve_frontend_prod.mjs COPY --from=build /workspace/devfront/dist ./dist EXPOSE 5173 CMD ["node", "./serve_frontend_prod.mjs"]