| # DownTube v5.0 - Cloudflare Worker Strategy | |
| # Cloudflare Worker → Piped → Cobalt → Invidious → yt-dlp | |
| # 1. استخدام نسخة بايثون رسمية ومستقرة | |
| FROM python:3.11-slim | |
| # 2. تثبيت أدوات النظام الأساسية و FFmpeg لدمج الصوت والفيديو | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential \ | |
| curl \ | |
| git \ | |
| ffmpeg \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 3. تثبيت لغة Rust لتخطي مشكلة بناء pydantic-core | |
| RUN curl https://sh.rustup.rs -sSf | sh -s -- -y | |
| ENV PATH="/root/.cargo/bin:${PATH}" | |
| # 4. متغير بيئة لرابط Cloudflare Worker | |
| # يجب تعيينه عند النشر: docker run -e DOWNTUBE_WORKER_URL=https://your-worker.workers.dev | |
| ENV DOWNTUBE_WORKER_URL="" | |
| # 5. تحديد مجلد العمل | |
| WORKDIR /app | |
| # 6. تهيئة مجلد التحميلات المؤقت | |
| RUN mkdir -p /tmp/downloads && chmod 777 /tmp/downloads | |
| # 7. نسخ ملف المكتبات وتثبيتها | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir --upgrade pip setuptools wheel | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # 8. نسخ باقي ملفات المشروع | |
| COPY . . | |
| # 9. فتح المنفذ | |
| EXPOSE 8555 | |
| # 10. أمر تشغيل الخادم | |
| CMD ["python", "desktop/main.py"] | |