# --- Stage 1: Build --- FROM node:18-alpine AS builder WORKDIR /app # Install build dependencies COPY package*.json ./ RUN npm install # Copy source and build # Copy source and build COPY . . # Build-time environment variables ARG VITE_SUPABASE_URL ARG VITE_SUPABASE_ANON_KEY ARG VITE_API_URL ENV VITE_SUPABASE_URL=$VITE_SUPABASE_URL ENV VITE_SUPABASE_ANON_KEY=$VITE_SUPABASE_ANON_KEY ENV VITE_API_URL=$VITE_API_URL RUN npm run build # --- Stage 2: Serve --- FROM nginx:stable-alpine # Copy static assets from builder COPY --from=builder /app/dist /usr/share/nginx/html # Expose port 80 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]