FROM node:24.13.0-alpine AS build WORKDIR /app RUN corepack enable COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.base.json ./ COPY apps/admin-web/package.json apps/admin-web/package.json COPY packages/contracts/package.json packages/contracts/package.json RUN pnpm install --frozen-lockfile COPY apps/admin-web apps/admin-web COPY packages/contracts packages/contracts ARG VITE_API_BASE_URL RUN test -n "$VITE_API_BASE_URL" ENV VITE_API_BASE_URL=$VITE_API_BASE_URL RUN pnpm --filter @lehuo/admin-web build FROM nginx:1.28.0-alpine AS runtime COPY --from=build /app/apps/admin-web/dist /usr/share/nginx/html COPY infra/ubuntu/nginx/default.conf.template /etc/nginx/templates/default.conf.template RUN rm -f /etc/nginx/conf.d/default.conf EXPOSE 80 443