لماذا تستضيف خادم الوسائط على VPS
خادم الوسائط المستضاف ذاتيًا على VPS يجعلك مالكًا لمكتبتك: تبقى الأفلام والمسلسلات والموسيقى والصور متاحة عبر HTTPS من المتصفح أو من تلفاز ذكي أو هاتف ذكي، من دون حصة مفروضة ولا تحليل لعاداتك.
وخلافًا لجهاز منزلي، يتمتع VPS بعرض نطاق رفع (upload) مستقر لا غنى عنه للبث عن بُعد، وعنوان IP ثابت لإعداد نطاق، وتوافر على مدار الساعة طوال أيام الأسبوع من دون تكلفة كهرباء إضافية. لم تعد مكتبتك تعتمد على اتصالك أو أجهزتك المنزلية.
Jellyfin حر تمامًا (ترخيص GPL) ومن دون أي ميزة مدفوعة؛ بينما يقدّم Plex تجربة تطبيقات عميلة أكثر صقلًا لكنه يقفل التحويل الترميزي العتادي والوصول عن بُعد خلف اشتراك Plex Pass. لذا يكمن الخيار بين الحرية الكاملة والراحة الجاهزة.
ما الذي تكسبه باستضافته بنفسك
- وصول عن بُعد عبر HTTPS من دون المرور بمُرحِّل خارجي أو تعريض محتواك لطرف ثالث
- لا حد لعدد الحسابات ولا للبثوث المتزامنة ولا لحجم المكتبة
- تحويل ترميزي فوري تُشغّله موارد VPS الخاصة بك (CPU أو GPU)
- الترجمات والبيانات الوصفية وأغلفة الأعمال تُجلب تلقائيًا وتُخزَّن لديك
- مع Jellyfin: صفر ميزات مدفوعة، لا قياس عن بُعد (telemetry)، وشيفرة مصدرية قابلة للتدقيق
- نسخ احتياطي وترحيل بسيطان: كل شيء يتّسع في وحدة تخزين Docker ومجلد وسائط
- دعم DLNA أصلي للبث إلى أجهزة التلفاز ومشغّلات الشبكة من دون عميل مخصص
متطلبات خادم وسائط على VPS
للبث المباشر (remux من دون إعادة ترميز) يكفي VPS بـ 2 vCPU و2 غيغابايت من الذاكرة. وبمجرد تفعيل التحويل الترميزي البرمجي لتدفق بدقة 1080p، احسب 4 vCPU و4 غيغابايت؛ ولعدة تدفقات 4K متزامنة، استهدف من 6 إلى 8 vCPU. يظل التحويل الترميزي العتادي (QSV، NVENC) نادرًا على VPS المشترك: فضِّل الملفات المتوافقة مسبقًا مع تطبيقاتك العميلة للبقاء في وضع Direct Play.
أما التخزين، فخصّص وحدة تخزين سخية ويُفضَّل قرصًا سريعًا للبيانات الوصفية. تحتاج إلى Docker وDocker Compose مثبَّتَين، ونطاقًا فرعيًا (مثل media.your-domain.com) يشير إلى عنوان IP الخاص بالـ VPS، وبروكسي عكسي لأجل TLS.
نشر Jellyfin (أو Plex) باستخدام Docker وبروكسي عكسي
تحضير شجرة المجلدات ووحدات التخزين
على الـ VPS، أنشئ
mkdir -p /srv/jellyfin/{config,cache}ومجلد وسائط/srv/media/{films,series,musique}. ستُركَّب هذه المسارات كوحدات تخزين للحفاظ على الإعدادات والفصل الواضح بين المحتوى وقاعدة البيانات.كتابة ملف docker-compose.yml
عرِّف خدمة
jellyfin/jellyfin(أوplexinc/pms-docker)، وركِّب./configو./cacheو/srv/mediaللقراءة فقط، واكشف المنفذ8096(Jellyfin) أو32400(Plex) محليًا فقط:127.0.0.1:8096:8096. سيتولّى البروكسي العكسي الكشف العام.تشغيل الحاوية
نفِّذ
docker compose up -dثم تابِعdocker compose logs -f. ادخل إلى معالج الإعداد عبر نفق SSHssh -L 8096:127.0.0.1:8096 user@vpsلإنشاء حساب المسؤول قبل أي كشف عام.ضبط التحويل الترميزي
في واجهة Jellyfin، انتقل إلى لوحة التحكم ← التشغيل وحدّد مسار التحويل الترميزي على
/config/transcodes. إذا كان VPS محدود الـ CPU، أجبر على Direct Play وارفض التحويل الترميزي التلقائي: ستظهر الواجهة خطأ للملفات غير المتوافقة بدلًا من إثقال الخادم. في Plex، الخيار نفسه موجود في الإعدادات ← التشغيل عن بُعد.إعداد البروكسي العكسي وSSL
اضبط Caddy أو Nginx لتوجيه media.your-domain.com إلى
127.0.0.1:8096. مع Caddy، يكفي سطران وشهادة Let's Encrypt تلقائية؛ تذكّر تمرير ترويسات WebSocket للتشغيل في الوقت الفعلي. تنبيه لـ Jellyfin 12: أُزيلت البادئات القديمة /emby/ و/mediabrowser/ — إن كنت قد ضبطت بروكسيك العكسي على هذه المسارات، حدِّثه ليشير إلى الجذر /.تأمين الوصول بمصادقة Jellyfin
يتولّى Jellyfin المصادقة بصورة أصلية: فعِّل سياسة كلمة مرور قوية وحُدّ من عدد محاولات تسجيل الدخول في لوحة التحكم ← الأمان. بالنسبة إلى Plex من دون Plex Pass، يتطلب الوصول عن بُعد ضبط إعادة توجيه المنفذ على شبكتك — على VPS، يكفي البروكسي العكسي وهو الأفضل. لا تفتح المنفذ
8096أو32400مباشرةً في الجدار الناري: المنفذان 80/443 فقط يجب أن يكونا متاحَين.فهرسة مكتباتك
من الواجهة، أضِف المجلدين
/media/filmsو/media/series، واختر وكيل البيانات الوصفية وابدأ المسح. تحقّق من أن ملفًا يُشغَّل بوضع Direct Play من تطبيق عميل خارجي للتأكد من صحة البروكسي والمُرمِّزات (codecs).نسخ الإعداد احتياطيًا
يتلخّص نسخ Jellyfin احتياطيًا في عنصرين: مجلد
./config(قاعدة البيانات، والإضافات، والتفضيلات) وملفات الوسائط. أتمت أمرtar -czf jellyfin-config-$(date +%Y%m%d).tar.gz ./configيوميًا وزامنه مع تخزين خارجي. أما في Plex فمجلدPlex Media Server/هو ما يعادله. جرِّب الاستعادة في بيئة اختبار قبل الاحتياج إليها.
Jellyfin 12: ما الذي تغيّر وكيف تُرحِّل
صدر Jellyfin 12 في 7 سبتمبر 2026. هذه القفزة في الإصدار — مباشرةً من 10.11.x إلى 12 — تعكس حجم التغييرات غير المتوافقة التي أُدخلت.
إزالة بادئات API القديمة. أُزيلت مسارات /emby/ و/mediabrowser/ نهائيًا. أي تطبيق عميل أو سكريبت يستخدمها (Infuse في وضع Emby، بعض إضافات Kodi، تكاملات Home Assistant) يجب تحديثه للإشارة إلى الجذر /. تحقّق من كل تطبيق عميل قبل الترحيل.
ترحيل قاعدة بيانات لا رجعة عنه. يستبدل Jellyfin 12 مخطط SQLite ببنية علائقية مُعاد هيكلتها. يُنفَّذ الترحيل تلقائيًا عند أول تشغيل ولا يمكن التراجع عنه. انسخ مجلد config/ بالكامل — ولا سيما data/jellyfin.db — قبل سحب صورة الحاوية المحدَّثة. الرجوع إلى الخلف يعني العودة إلى صورة Docker للإصدار السابق.
عدم توافق إضافات 10.11. الإضافات المبنية لـ Jellyfin 10.11 غير متوافقة مع Jellyfin 12. تحقّق من توافق كل إضافة في الكتالوج الرسمي قبل الترحيل، أو أوقف تشغيلها ريثما يُصدر القائمون عليها إصدارات محدَّثة.
الترحيل المباشر مدعوم. الترقية من 10.10.7 و10.11.x إلى 12 مدعومة — لا حاجة لإعادة التثبيت من الصفر. فقط اسحب صورة Docker الجديدة، بعد أخذ النسخة الاحتياطية.
مرّر الجدول أفقيًا
| المعيار | Jellyfin | Plex |
|---|---|---|
| الترخيص / التكلفة | حر (GPL)، مجاني 100% | Freemium، وPlex Pass مدفوع للميزات الأساسية |
| التحويل الترميزي العتادي | مُضمَّن ومجاني | حصري لمشتركي Plex Pass |
| الوصول عن بُعد | مباشر عبر البروكسي العكسي الخاص بك | يمرّ عبر مُرحِّلات Plex (أو Pass) |
| الخصوصية | لا قياس عن بُعد، كل شيء يبقى لديك | حساب Plex وبيانات وصفية مركزية |
| جودة التطبيقات العميلة (تلفاز، جوال) | جيدة وفي تحسّن مستمر | ناضجة جدًا ومستقرة |
| دعم DLNA | أصلي دون إعداد | موجود، أقل قابلية للتخصيص |
| الإضافات والتمديدات | كتالوج مجتمعي غني ومتطور بنشاط | أكثر انغلاقًا، وظائف مدمجة |
| تطبيقات الجوال | مجانية (Android، iOS) | مجانية مع إعلانات، وPass للتنزيلات |
| المجتمع | نشط جدًا، مفتوح المصدر، منتديات وMatrix | نشط، منتدى رسمي، أقل انفتاحًا |
| Chromecast | مدعوم عبر تطبيق الجوال | مدعوم بصورة أصلية |
| الإعداد الأولي | بعض الضبط اليدوي | معالج موجَّه جدًا |
استكشاف الأخطاء وإصلاحها: الأخطاء الأكثر شيوعًا
التحويل الترميزي الذي يفشل بصمت. يعرض المشغّل خطأ عامًا أو لا تبدأ الفيديو. أول تحقق: في لوحة التحكم ← السجلات، رشِّح على Transcod. إن رأيت ffmpeg not found أو Permission denied على مجلد التحويل الترميزي، فالحاوية لا تجد الملف الثنائي أو ليس لها حق الوصول الكتابي إلى /config/transcodes. تحقّق من أن وحدة التخزين مُركَّبة بصلاحيات الكتابة وأن صورة Docker هي jellyfin/jellyfin وليست تشعّبًا غير مُصان.
خطأ "no hardware acceleration". على VPS من دون GPU مخصص، التسريع العتادي (VAAPI، QSV، NVENC) غير متاح. يظهر الخطأ في السجلات إن فعَّلت خيار تحويل ترميزي عتادي لا يستطيع الخادم تنفيذه. أوقف تشغيله في لوحة التحكم ← التشغيل ← التحويل الترميزي العتادي وعد إلى التحويل البرمجي، أو أجبر على Direct Play.
الوصول عن بُعد محجوب خلف بروكسي عكسي (بادئة مسار). إن كنت تخدم Jellyfin تحت مسار فرعي مثل your-domain.com/media/، لن تُحمَّل الموارد الثابتة وواجهة API بشكل صحيح. يوصي Jellyfin بنطاق فرعي مخصص (media.your-domain.com) بدلًا من مسار فرعي. إن كان المسار الفرعي لا مفر منه، اضبط baseUrl في network.xml وتأكد من أن البروكسي العكسي يُمرِّر المسار الكامل دون إعادة كتابة.
مزامنة البيانات الوصفية التي تدور في حلقة. يعمل مسح المكتبة إلى ما لا نهاية دون أن يتقدم. أسباب شائعة: أذونات غير كافية على مجلد الوسائط (يجب أن يتمكن Jellyfin من قراءة الملفات)، تسمية الملفات غير مطابقة للمعيار Title (Year).mkv، أو مشكلة اتصال بوكلاء البيانات الوصفية البعيدة. راجع سجلات المهام المجدوَلة في لوحة التحكم ← المهام المجدوَلة لتحديد الخطوة التي تحجب التقدم.
لتجنّب إشباع معالج الـ VPS، وحِّد مكتبتك بترميز H.264/AAC داخل حاوية MP4 أو MKV. سكربت ffmpeg بسيط لإعادة التغليف (remux من دون إعادة ترميز، الخيار -c copy) يعيد تعبئة ملفاتك في ثوانٍ ويريح الخادم على المدى الطويل، خصوصًا على VPS من دون GPU. لا تمسّ هذه العملية جودة الفيديو: تغيّر الغلاف فحسب، لا المحتوى.