File size: 1,068 Bytes
325b94c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# استخدم صورة أساسية خفيفة من Python
# force rebuild
FROM python:3.11

# اضبط مجلد العمل داخل الحاوية
WORKDIR /app

# انسخ ملف requirements لو عندك
COPY requirements.txt .

# نزّل المتطلبات
RUN pip install --no-cache-dir -r requirements.txt

# انسخ ملفات المشروع
COPY . /app

# عرّف البورت اللي البرنامج هيشتغل عليه
EXPOSE 7860

# استخدم Gunicorn بدلاً من uvicorn مباشرة لدعم عدة مستخدمين (Workers)
# رقم 4 يعني أنه سيشغل 4 عمليات (Processes) لخدمة الطلبات في نفس الوقت
# # CMD ["gunicorn", "app:app", "--workers", "4", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:7860", "--timeout", "120"]
# CMD ["gunicorn", "app:app","--workers", "2","--worker-class", "uvicorn.workers.UvicornWorker","--bind", "0.0.0.0:7860","--timeout", "180"]
# لو بتستخدم FastAPI (مع uvicorn): 
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]