File size: 1,190 Bytes
5f16279
6bdd9d8
b9fb7e7
5f16279
b9fb7e7
 
 
 
 
 
5f16279
 
 
 
b9fb7e7
 
5f16279
9221730
b9fb7e7
5f16279
 
b9fb7e7
5f16279
 
 
b9fb7e7
5f16279
b9fb7e7
 
 
5f16279
b9fb7e7
 
5f16279
 
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
26
27
28
29
30
31
32
33
34
35
# 1. استخدام نسخة Node.js 22 الرسمية
FROM node:22-slim

# 2. تثبيت الأدوات الأساسية والـ git
RUN apt-get update && apt-get install -y \
    git \
    python3 \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

# 3. تثبيت pnpm عالمياً لأن المشروع يعتمد عليه أساسياً في البناء
RUN npm install -g pnpm

# 4. تحديد مجلد العمل
WORKDIR /app

# 5. جلب سورس كود المشروع من GitHub
RUN git clone https://github.com/OpenClaw/OpenClaw.git .

# 6. تثبيت الحزم باستخدام pnpm بدلاً من npm
RUN pnpm install

# 7. بناء ملفات التشغيل (إنشاء مجلد dist/entry)
# هنا نقوم بتشغيل البناء الفعلي والتأكد من نجاحه
RUN pnpm build

# 8. إعداد بيئة ومنافذ Hugging Face
ENV PORT=7860
EXPOSE 7860

# إعطاء صلاحيات كاملة للمجلد لتجنب مشاكل الـ Permission في Hugging Face
RUN mkdir -p /app/data && chmod -R 777 /app

# 9. أمر التشغيل باستخدام pnpm لضمان استدعاء الـ entry script بشكل صحيح
CMD ["pnpm", "start"]