# ใช้ Python 3.9 แบบ slim เป็น base image เพื่อลดขนาด image FROM python:3.9-slim # กำหนด working directory ภายใน container เป็น /app WORKDIR /app # คัดลอกไฟล์ทั้งหมดจากโปรเจ็คไปยัง container COPY . /app # สร้างโฟลเดอร์ logs สำหรับเก็บ log file และปรับสิทธิ์ให้เขียนได้ RUN mkdir -p /app/logs && chmod -R 777 /app/logs # ประกาศ volume ให้กับโฟลเดอร์ logs เพื่อให้ข้อมูลถาวร VOLUME /app/logs # ติดตั้ง dependencies ที่ระบุไว้ใน requirements.txt RUN pip install --upgrade --no-cache-dir -r requirements.txt # ระบุคำสั่งเริ่มต้นเมื่อ container รัน CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]