# ---- Build stage ---- FROM node:20-alpine AS build WORKDIR /app COPY package.json package-lock.json* ./ # HF builder may set NODE_ENV=production; force dev deps for building RUN npm install --include=dev COPY . . RUN npm run build # ---- Runtime stage ---- FROM node:20-alpine WORKDIR /app # Install a tiny static server RUN npm install -g serve COPY --from=build /app/dist ./dist EXPOSE 7860 CMD ["serve", "-s", "dist", "-l", "7860"]