# ใช้ Node.js เป็น base image FROM node:18-alpine AS build # กำหนด working directory ใน container WORKDIR /app # คัดลอกไฟล์ package.json และ package-lock.json ไปยัง container COPY package.json package-lock.json ./ # ติดตั้ง dependencies รวม devDependencies RUN npm ci # ✅ ติดตั้ง dependencies ทั้งหมด # คัดลอกไฟล์ทั้งหมดของโปรเจคไปยัง container COPY . . # Build React + Vite RUN npm run build # ✅ ตอนนี้ vite build จะใช้ @vitejs/plugin-react ได้แล้ว # ใช้ Nginx เป็น Web Server สำหรับเสิร์ฟไฟล์ static FROM nginx:alpine # คัดลอกไฟล์ที่ build แล้วไปยัง Nginx COPY --from=build /app/dist /usr/share/nginx/html # ลบ cache หรือไฟล์ที่ไม่จำเป็น RUN rm -rf /var/cache/apk/* # เปิดพอร์ต 80 EXPOSE 80 # สั่งให้ Nginx ทำงาน CMD ["nginx", "-g", "daemon off;"]