ibrahimlasfar commited on
Commit
7cca6aa
·
1 Parent(s): 1cf32f2

Add writable cache directory + env vars

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -10
Dockerfile CHANGED
@@ -1,12 +1,9 @@
1
  # -------------------------------------------------
2
  # Dockerfile – يستخدم صورة Python كاملة (تحتوي على gcc)
3
  # -------------------------------------------------
 
4
 
5
- # 1️⃣ صورة الأساس
6
- FROM python:3.10
7
-
8
- # 2️⃣ تثبيت الأدوات اللازمة لبناء llama‑cpp‑python
9
- # (gcc, g++, make, cmake)
10
  RUN apt-get update && apt-get install -y --no-install-recommends \
11
  gcc \
12
  g++ \
@@ -14,15 +11,29 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
14
  cmake \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
- # 3️⃣ تعيين دليل العمل داخل الحاوية
18
- WORKDIR /app
 
 
 
 
 
 
 
19
 
20
- # 4️⃣ نسخ كل الملفات من المستودع إلى داخل الحاوية
 
 
 
21
  COPY . /app
22
 
23
- # 5️⃣ تثبيت المكتبات Python من requirements.txt
 
 
24
  RUN pip install --upgrade pip && \
25
  pip install -r requirements.txt
26
 
27
- # 6️⃣ تشغيل FastAPI عندما تُنشأ الحاوية
 
 
28
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  # -------------------------------------------------
2
  # Dockerfile – يستخدم صورة Python كاملة (تحتوي على gcc)
3
  # -------------------------------------------------
4
+ FROM python:3.10 # أو python:3.10‑slim إذا أضفت gcc يدوياً
5
 
6
+ # تثبيت الأدوات اللازمة لبناء llama‑cpp‑python
 
 
 
 
7
  RUN apt-get update && apt-get install -y --no-install-recommends \
8
  gcc \
9
  g++ \
 
11
  cmake \
12
  && rm -rf /var/lib/apt/lists/*
13
 
14
+ # -------------------------------------------------
15
+ # إعداد مسار الـ cache القابل للكتابة
16
+ # -------------------------------------------------
17
+ # 1️⃣ إنشاء المجلد داخل الحاوية
18
+ RUN mkdir -p /app/.cache
19
+
20
+ # 2️⃣ تعريف المتغيّرات البيئية التي ستستخدمها مكتبة transformers و huggingface_hub
21
+ ENV TRANSFORMERS_CACHE=/app/.cache
22
+ ENV HF_HOME=/app/.cache # (اختياري) لتوحيد جميع ملفات huggingface في نفس المجلد
23
 
24
+ # -------------------------------------------------
25
+ # نسخ ملفات المشروع
26
+ # -------------------------------------------------
27
+ WORKDIR /app
28
  COPY . /app
29
 
30
+ # -------------------------------------------------
31
+ # تثبيت المكتبات Python
32
+ # -------------------------------------------------
33
  RUN pip install --upgrade pip && \
34
  pip install -r requirements.txt
35
 
36
+ # -------------------------------------------------
37
+ # تشغيل FastAPI
38
+ # -------------------------------------------------
39
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]