Spaces:
Paused
Paused
| # 1. استخدام نسخة Node الكاملة والمجهزة مسبقاً بأدوات البناء الأساسية | |
| FROM docker.io/library/node:20 | |
| # 2. تثبيت أداة ffmpeg وتحديث مستودعات النظام الأساسية | |
| RUN apt-get update && apt-get install -y ffmpeg locales && rm -rf /var/lib/apt/lists/* | |
| # 3. إجبار النظام على دعم اللغة العربية وترميز UTF-8 لمنع مشاكل قراءة الملفات العربية | |
| ENV LANG=C.UTF-8 | |
| ENV LC_ALL=C.UTF-8 | |
| # 4. تحميل وتثبيت أداة yt-dlp الرسمية وإعطائها صلاحية التنفيذ للنظام | |
| RUN wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp && \ | |
| chmod a+rx /usr/local/bin/yt-dlp | |
| # 5. حل مشكلة المعرف المشغول (UID 1000) عن طريق إعادة تسمية مستخدم node الافتراضي إلى user | |
| RUN usermod -l user -d /home/user -m node && \ | |
| groupmod -n user node | |
| # 6. إعداد متغيرات البيئة ومجلد العمل | |
| ENV HOME=/home/user | |
| WORKDIR /home/user/app | |
| # 7. جلب كود تطبيق البث من فرع huggingface تحديداً | |
| RUN git clone -b huggingface https://github.com/AmmarBasha2011/my-restreamer . | |
| # 8. تصحيح صلاحيات المجلدات بالكامل لتفادي مشاكل الأذونات أثناء تشغيل السكربتات وصناعة قوائم التشغيل | |
| RUN chown -R user:user /home/user | |
| # 9. الانتقال إلى حساب المستخدم (user) لتشغيل الحاوية بأمان توافقاً مع Hugging Face Spaces | |
| USER user | |
| # 10. تثبيت حزم الـ npm للمشروع | |
| RUN npm install | |
| # 11. تعيين المنفذ (PORT) الافتراضي للمنصة | |
| ENV PORT=7860 | |
| EXPOSE 7860 | |
| # 12. أمر تشغيل خادم البث | |
| CMD ["npm", "start"] |