yking21 commited on
Commit
9221730
·
verified ·
1 Parent(s): b9fb7e7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +10 -14
Dockerfile CHANGED
@@ -1,36 +1,32 @@
1
  # 1. استخدام نسخة Node.js الرسمية والمستقرة
2
  FROM node:20-slim
3
 
4
- # 2. تثبيت التبعات الأساسية للنظام (أحياناً يحتاجها الـ Agent للتحكم أو تشغيل بعض المهارات)
5
  RUN apt-get update && apt-get install -y \
6
  git \
7
  python3 \
8
  build-essential \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
- # 3. إنشاء مجلد العمل داخل الحاوية
12
  WORKDIR /app
13
 
14
- # 4. نسخ ملفات الحزم لتثبيت الـ Dependencies أولاً (لتسريع الـ Build)
15
- COPY package*.json ./
 
16
 
17
- # 5. تثبيت المكتبات (بما فيها مكتبات التشغيل والـ Production)
18
  RUN npm install
19
 
20
- # 6. نسخ باقي ملفات مشروع OpenClaw إلى الحاوية
21
- COPY . .
22
-
23
- # 7. بناء المشروع (إذا كان يحتوي على خطوة تجميع TypeScript إلى JavaScript)
24
  RUN npm run build || true
25
 
26
- # 8. إعداد البيئة لـ Hugging Face Spaces
27
- # Hugging Face تفرض تشغيل التطبيقات على منفذ 7860 دائماً
28
  ENV PORT=7860
29
  EXPOSE 7860
30
 
31
- # إنشاء مجلد للذاكرة المستمرة (Memory/Storage) وإعطاء صلاحيات كاملة
32
- # لأن HF Spaces بتشغل الحاوية بمستخدم عشوائي (Non-root user)
33
  RUN mkdir -p /app/data && chmod -R 777 /app
34
 
35
- # 9. أمر التشغيل النهائي للمشروع
36
  CMD ["npm", "start"]
 
1
  # 1. استخدام نسخة Node.js الرسمية والمستقرة
2
  FROM node:20-slim
3
 
4
+ # 2. تثبيت الأدوات الأساسية والـ git لتحميل المشروع
5
  RUN apt-get update && apt-get install -y \
6
  git \
7
  python3 \
8
  build-essential \
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # 3. تحديد مجلد العمل
12
  WORKDIR /app
13
 
14
+ # 4. جلب المشروع مباشرة من السورس الرسمي (أو من رابط الـ Fork الخاص بك إن وجد)
15
+ # تم وضع "." في النهاية لنسخ الملفات مباشرة داخل /app
16
+ RUN git clone https://github.com/OpenClaw/OpenClaw.git .
17
 
18
+ # 5. تثبيت المكتبات (الآن ملف package.json موجود بالتأكيد)
19
  RUN npm install
20
 
21
+ # 6. بناء المشروع وتحويل TypeScript إلى JavaScript
 
 
 
22
  RUN npm run build || true
23
 
24
+ # 7. إعداد بيئة ومنافذ Hugging Face
 
25
  ENV PORT=7860
26
  EXPOSE 7860
27
 
28
+ # إعطاء صلاحيات كاملة للمجلد لتجنب مشاكل الـ Permission في HF
 
29
  RUN mkdir -p /app/data && chmod -R 777 /app
30
 
31
+ # 8. أمر التشغيل النهائي
32
  CMD ["npm", "start"]