# ใช้ Python 3.10 เป็นฐาน FROM python:3.10-slim # สร้าง user สำหรับรันบน Hugging Face Spaces (HF บังคับให้รันด้วย UID 1000 เพื่อความปลอดภัย) RUN useradd -m -u 1000 user # ตั้งค่าตัวแปรสภาพแวดล้อมต่างๆ ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # กำหนดโฟลเดอร์ทำงานหลัก WORKDIR $HOME/app # คัดลอกไฟล์ requirements.txt และติดตั้งแพ็กเกจ COPY --chown=user requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # คัดลอกโค้ดทั้งหมดลงใน container พร้อมให้สิทธิ์แก่ user COPY --chown=user . . # สลับไปใช้ user ที่สร้างไว้ (เพื่อไม่ให้รันในฐานะ root) USER user # รันเซิร์ฟเวอร์ FastAPI ด้วย uvicorn บนพอร์ต 7860 (พอร์ตมาตรฐานของ Hugging Face) CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]