# Stage 1: Build the React application
FROM node:24-alpine AS build
WORKDIR /app
# Copy only package files to leverage Docker layer caching
COPY package*.json ./
RUN npm install
# Copy the rest of the source code and build
COPY . .
RUN npm run build

# Stage 2: Serve the app with Nginx
FROM nginx:stable-alpine
# Copy built assets from the 'build' stage to Nginx's web root
# Note: Vite uses 'dist', Create React App uses 'build'
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
