AhmadA82 commited on
Commit
3ced234
·
verified ·
1 Parent(s): dbd1da2
Files changed (1) hide show
  1. Dockerfile +18 -10
Dockerfile CHANGED
@@ -1,31 +1,39 @@
1
- # استخدم صورة Python رسمية خفيفة
2
  FROM python:3.10-slim
3
 
4
- # أنشئ مستخدم عادي (غير root) للأمان والصلاحيات السليمة
 
 
 
 
 
 
 
 
5
  RUN useradd -m -u 1000 user
6
 
7
- # انتقل إلى مجلد التطبيق المملوك للمستخدم الجديد
8
  WORKDIR /home/user/app
9
 
10
- # انسخ كل ملفات المشروع وأعطِ الصلاحيات للمستخدم
11
  COPY --chown=user . .
12
 
13
- # أنشئ المجلدات المطلوبة (cache/models) بصلاحية المستخدم
14
  RUN mkdir -p /home/user/app/data/cache /home/user/app/models
15
 
16
- # ثبّت المتطلبات البرمجية
17
  RUN pip install --upgrade pip
18
  RUN pip install -r requirements.txt
19
 
20
- # انتقل للعمل كمستخدم عادي
21
  USER user
22
 
23
- # ضبط متغيرات البيئة ليستخدم Hugging Face/llama-cpp مجلدات قابلة للكتابة
24
  ENV HF_HOME=/home/user/app/data/cache
25
  ENV TRANSFORMERS_CACHE=/home/user/app/data/cache
26
 
27
- # استمع على المنفذ الافتراضي لتطبيق Gradio (يمكنك تغييره لو أردت)
28
  EXPOSE 7860
29
 
30
- # شغل التطبيق
31
  CMD ["python", "app.py"]
 
1
+ # استخدم صورة بايثون الخفيفة
2
  FROM python:3.10-slim
3
 
4
+ # 1. تثبيت أدوات البناء الضرورية لكومبايل llama-cpp-python
5
+ RUN apt-get update && apt-get install -y \
6
+ build-essential \
7
+ cmake \
8
+ gcc \
9
+ g++ \
10
+ && rm -rf /var/lib/apt/lists/*
11
+
12
+ # 2. أنشئ مستخدم غير root للأمان
13
  RUN useradd -m -u 1000 user
14
 
15
+ # 3. انتقل لمجلد المشروع الآمن للمستخدم الجديد
16
  WORKDIR /home/user/app
17
 
18
+ # 4. نسخ جميع الملفات للمجلد مع إعطاء الصلاحيات
19
  COPY --chown=user . .
20
 
21
+ # 5. أنشئ المجلدات الضرورية التي ستحتاجها (اختياري للاحتياط)
22
  RUN mkdir -p /home/user/app/data/cache /home/user/app/models
23
 
24
+ # 6. تثبيت متطلبات المشروع (llama-cpp-python, gradio)
25
  RUN pip install --upgrade pip
26
  RUN pip install -r requirements.txt
27
 
28
+ # 7. استخدام المستخدم غير الجذر
29
  USER user
30
 
31
+ # 8. متغيرات البيئة لضمان عمل cache في مكان مسموح
32
  ENV HF_HOME=/home/user/app/data/cache
33
  ENV TRANSFORMERS_CACHE=/home/user/app/data/cache
34
 
35
+ # 9. فتح المنفذ الافتراضي
36
  EXPOSE 7860
37
 
38
+ # 10. تشغيل التطبيق
39
  CMD ["python", "app.py"]