# Stage 1: Build FROM node:20-alpine AS build WORKDIR /app # Copy package files and install dependencies COPY package.json package-lock.json* ./ RUN npm install # Copy source files and build the app COPY . . RUN npm run build # Stage 2: Production FROM nginx:stable-alpine # Copy custom nginx configuration COPY nginx.conf /etc/nginx/conf.d/default.conf # Copy build artifacts from build stage COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]