# Build stage FROM node:20-alpine AS build WORKDIR /app COPY package.json package-lock.json* ./ RUN npm install # Set build args and env vars BEFORE copying source code ARG VITE_WIZARD_PORT=18080 ARG VITE_API_BASE ENV VITE_WIZARD_PORT=$VITE_WIZARD_PORT ENV VITE_API_BASE=$VITE_API_BASE COPY . . RUN npm run build # Production stage — lightweight static server, no nginx FROM node:20-alpine RUN npm install -g serve@14 WORKDIR /app COPY --from=build /app/dist ./dist EXPOSE 3000 CMD ["serve", "-s", "dist", "-l", "3000"]