FROM node:lts AS deps 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 ARG ORGFRONT_URL 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 ENV ORGFRONT_URL=$ORGFRONT_URL RUN pnpm install --frozen-lockfile --ignore-scripts FROM deps AS dev WORKDIR /workspace/devfront ENV NODE_ENV=development EXPOSE 5174 CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5174"] FROM deps AS build 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=5174 COPY scripts/serve_frontend_prod.mjs ./serve_frontend_prod.mjs COPY --from=build /workspace/devfront/dist ./dist EXPOSE 5174 CMD ["node", "./serve_frontend_prod.mjs"]