weltech-backend / Dockerfile
Punn1403's picture
Update Dockerfile
4a6ad8e verified
# ใช้ Python 3.9 เป็นพื้นฐาน
FROM python:3.9-slim
# 🛠️ อัปเดตแพ็กเกจพื้นฐานที่ OpenCV และ YOLO ต้องการใช้บน Linux
RUN apt-get update && apt-get install -y \
libgl1 \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
libxcb1 \
&& rm -rf /var/lib/apt/lists/*
# สร้าง User ใหม่เพื่อความปลอดภัยตามกฎของ Hugging Face
RUN useradd -m -u 1000 user
USER user
ENV PATH="/home/user/.local/bin:$PATH"
# กำหนดโฟลเดอร์ทำงาน
WORKDIR /app
# คัดลอกไฟล์ requirements และติดตั้งแพ็กเกจ
COPY --chown=user requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# คัดลอกไฟล์ทั้งหมดเข้า Docker
COPY --chown=user . .
# เปิด Port 7860
EXPOSE 7860
# รัน Gunicorn
CMD ["gunicorn", "-b", "0.0.0.0:7860", "server:app", "--timeout", "120", "--workers", "1", "--threads", "2"]