1234ty commited on
Commit
759caac
·
verified ·
1 Parent(s): 927eebc

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -11
Dockerfile CHANGED
@@ -1,17 +1,25 @@
1
- # 1. ใช้ Python เวอร์ชันเสถียรและเบาเป็นฐาน
2
  FROM python:3.10-slim
3
 
4
- # 2. งค่าโฟลเดอร์ทำงนในโรเจกต์
5
- WORKDIR /code
6
 
7
- # 3. คัดลอกไฟล์รายการไบรารีเขิดตั้
8
- COPY ./requirements.txt /code/requirements.txt
 
9
 
10
- # 4. ติดตั้งไลบรารี Python ทั้งดโดยไม่เก็บไฟล์ขยะไว้ใระบบ
11
- RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
12
 
13
- # 5. คัดลอกโค้ั้งหมด (รวมถึง main.py) ข้าไปใน Docker Container
14
- COPY . .
 
15
 
16
- # 6. ส่งให้เปิบริการเซิร์ฟเวร์ด้วย Uvicorn ไปที่์ต 7860 (พร์ตาตรฐานของ Hugging Face)
17
- CMD ["uvicorn", "ai.py:app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
 
 
 
 
1
+ # ใช้ Python 3.10 เป็นฐาน
2
  FROM python:3.10-slim
3
 
4
+ # สร้าง user สำหรบรันบน Hugging Face Spaces (HF บังคับให้รัน้วย UID 1000 เพื่ควลอดภัย)
5
+ RUN useradd -m -u 1000 user
6
 
7
+ # ตั้ง่าตวแปสภพแวดล้มต่า
8
+ ENV HOME=/home/user \
9
+ PATH=/home/user/.local/bin:$PATH
10
 
11
+ # กำดโฟลเดอรทำงาหลัก
12
+ WORKDIR $HOME/app
13
 
14
+ # คัดลอกไฟล์ requirements.txt และติั้งแพ็กกจ
15
+ COPY --chown=user requirements.txt .
16
+ RUN pip install --no-cache-dir -r requirements.txt
17
 
18
+ # ัดกโค้ทังหมดลงใน container พรอมให้สิทธิ์แก่ user
19
+ COPY --chown=user . .
20
+
21
+ # สลับไปใช้ user ที่สร้างไว้ (เพื่อไม่ให้รันในฐานะ root)
22
+ USER user
23
+
24
+ # รันเซิร์ฟเวอร์ FastAPI ด้วย uvicorn บนพอร์ต 7860 (พอร์ตมาตรฐานของ Hugging Face)
25
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]