Restreamer / Dockerfile
gebsunamy's picture
Update Dockerfile
3f295e3 verified
Raw
History Blame Contribute Delete
1.86 kB
# 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"]