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

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -0
Dockerfile ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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"]