# Frontend Dockerfile - Vue3 + Vite FROM node:20-alpine AS builder WORKDIR /app # Copy package files COPY client/package*.json ./client/ COPY shared/package*.json ./shared/ # Install dependencies RUN cd client && npm ci # Copy source code COPY client ./client COPY shared ./shared # Build RUN cd client && npm run build # Production stage - serve with nginx FROM nginx:alpine # Copy custom nginx config COPY docker/nginx/default.conf /etc/nginx/conf.d/default.conf # Copy built files COPY --from=builder /app/client/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]