دليل النشر

الهجرة من Plex إلى Jellyfin بعد paywall يوليو 2026

انشر على VPS Cloud ←

دليل عملي

الاستضافة الذاتية

الهجرة من Plex إلى Jellyfin بعد paywall يوليو 2026

لم يعد البث عن بُعد لوسائطك الشخصية مجانيًا في Plex: يلزم اشتراك Plex Pass على حساب مسؤول الخادم، أو Remote Watch Pass لكل مشاهد، ويتجدد بسعر 2.99 دولار شهريًا منذ 1 يونيو 2026. يحل Jellyfin محل Plex للفيديو، دون جدار دفع ودون حساب إلزامي، على خادم VPS الخاص بك؛ ويتولى Navidrome الموسيقى إن أردت مغادرة Plex كليًا. تبقى ملفاتك في مكانها: تتغير طبقة الخادم فقط، وتعيد أجهزتك الاتصال عبر تطبيقات Jellyfin أو عميل خارجي مثل Infuse.

16 دقيقةً للقراءةعدد الخطوات: 14
المحتويات· لماذا مغادرة Plex الآن1/13
  1. 01لماذا مغادرة Plex الآن
  2. 02ثغرات Plex في 2026: حدّثه أثناء الانتقال
  3. 03ما يقدمه Jellyfin عمليًا
  4. 04المتطلبات قبل البدء
  5. 05الهجرة خطوة بخطوة
  6. 06نشر Jellyfin عبر Nginx بدلًا من Caddy
  7. 07وماذا عن الموسيقى؟ الانتقال من Plexamp إلى Navidrome
  8. 08نقل مكتبة الموسيقى إلى Navidrome
  9. 09Plex وJellyfin وNavidrome: مقارنة وظيفية
  10. 10التكوين الموصى به بعد التثبيت
  11. 11تأمين الوصول إلى Jellyfin
  12. 12استكشاف الأخطاء: أخطاء شائعة بعد الهجرة
  13. 13قراءة إضافية وأدلة ذات صلة

لماذا مغادرة Plex الآن

طوال سنوات، سمح Plex بمشاهدة مكتبتك خارج المنزل مجانًا. لم يعد الأمر كذلك: وفقًا لـصفحة عروض Plex، يتطلب البث عن بُعد للمحتوى الشخصي إما Plex Pass على حساب مسؤول الخادم، وإما Remote Watch Pass على حساب كل مشاهد. أُطلق هذا الاشتراك الثاني بسعر تمهيدي، وأصبح يتجدد منذ 1 يونيو 2026 بسعر 2.99 دولار شهريًا أو 29.99 دولار سنويًا. غالبًا ما يكون رفض التشغيل على الهاتف أو عند أحد الأقارب هو الدافع: يبحث المستخدم عن مخرج فوري، لا عن تقييم مطوّل.

Jellyfin هو الإجابة المباشرة. إنه تفرّع مجتمعي من قاعدة كود Emby، منشور برخصة GPL-2.0، دون حساب إلزامي، ودون قياس عن بُعد، ودون ميزات محجوبة خلف جدار دفع. وهو لا يحاكي واجهة برمجة Plex: بل يقدّم واجهته الخاصة التي تخدمها تطبيقات Jellyfin الرسمية (Android وiOS وAndroid TV وRoku وwebOS وTizen وXbox) وعملاء خارجيون يدعمونها أصلًا مثل Infuse. لا تتحرك ملفات الوسائط: تتغير طبقة الخادم فقط.

ثغرات Plex في 2026: حدّثه أثناء الانتقال

تستغرق الهجرة بضع ساعات أو بضعة أيام، ويظل Plex يعمل خلالها. لا تتركه على إصدار قديم: حصلت ثغرتان مصحّحتان ابتداءً من البنية 1.43.3.10861 على معرّفاتهما في 23 سبتمبر 2026.

CVE-2026-96656 (CVSS 3.1: 7.2) تتيح لحساب مسؤول كتابة ملفات تُنفَّذ عند التحميل: يُنسخ التفضيل TranscoderH264Options كما هو داخل خيارات x264، وتُحمَّل مكتبات .so عند الإقلاع دون أي تحقق من التوقيع أو من صلاحية التنفيذ. وقد أدرجتها CISA في 20 أكتوبر 2026 ضمن فهرس الثغرات المستغلة فعليًا.

CVE-2026-96651 (CWE-22، CVSS 3.1: 6.5) ثغرة اجتياز مسارات على /system/agents/media/get: تستطيع جلسة موثّقة قراءة أي ملف يصل إليه مستخدم النظام الخاص بـPlex، بما في ذلك رمز PlexOnlineToken الذي يمنح السيطرة على الحساب والخادم.

إذا رُبطت الثغرتان معًا، فإنهما تقودان من سرقة الجلسة إلى تنفيذ التعليمات البرمجية. حدّث Plex قبل البدء، وأبقِ منفذه مغلقًا أمام الإنترنت طوال الانتقال، وطبّق تصحيحات نظام الخادم بالتوازي (راجع تحديثات الأمان التلقائية على Debian وUbuntu). ومع Jellyfin تبقى العادة نفسها: تابع الإصدارات وحدّث الصورة بانتظام.

ما يقدمه Jellyfin عمليًا

  • لا جدار مدفوع — الوصول عن بُعد وحسابات متعددة المستخدمين والترميز متاحة دون أي اشتراك.
  • لا حساب إلزامي — لا يتطلب الإعداد ربط خدمة خارجية؛ إدارة المستخدمين محلية بالكامل.
  • لا قياس استخدام — لا تُرسل بيانات الاستخدام إلى طرف ثالث بشكل افتراضي؛ الكود قابل للتدقيق (‪GPL-2.0‬).
  • عملاء متوافقون — تتصل تطبيقات Jellyfin الرسمية والعملاء الخارجيون مثل Infuse بالخادم عبر عنوانه، دون حساب خارجي ولا خدمة ترحيل.
  • ملفات الوسائط تبقى في مكانها — فقط قاعدة بيانات البيانات الوصفية تحتاج إلى إعادة بناء؛ التخزين غير متأثر.
  • عملاء أصليون متاحون — ‪Android‬ و‪iOS‬ و‪Android TV‬ و‪Apple TV‬ والمتصفح والعشرات من التطبيقات تدعم ‪Jellyfin‬ أصليًا.
  • ترميز الأجهزة مدعوم — يمكن تكوين ‪Intel Quick Sync‬ و‪VAAPI‬ و‪NVENC‬ لتقليل حمل ‪CPU‬ على البث عالي الدقة.
  • مجتمع نشط وتحديثات منتظمة — إصدارات متكررة ومكوّنات إضافية مجتمعية ووثائق رسمية شاملة.

المتطلبات قبل البدء

تفترض الهجرة أن لديك بالفعل ‪VPS‬ مع تثبيت ‪Docker‬. يعمل ‪Jellyfin‬ في وضع ‪Direct Play‬ (الأجهزة تقرأ الملف دون ترميز) بشكل جيد مع ‪2 vCPU‬ و‪2 GB RAM‬. إذا توقعت ترميزًا برمجيًا بدقة ‪1080p‬، احسب ‪4 vCPU‬ على الأقل لكل بث متزامن: ‪Jellyfin‬ كثيف الاستخدام للـ‪CPU‬ بدون تسريع الأجهزة. للدقة ‪4K‬، يُنصح بشدة بوحدة معالجة رسومات أو شريحة ‪Intel‬ مع ‪Quick Sync‬.

التخزين هو العامل الأساسي للحجم: مكتبة وسائط متوسطة الحجم تزن عدة تيرابايت. ملفاتك تبقى في مكانها — لا شيء تنسخه. على صعيد الشبكة، يجب أن يشير نطاقك إلى ‪VPS‬ ويكون المنفذ ‪8096‬ متاحًا داخليًا (يتولى البروكسي العكسي التعرض عبر ‪HTTPS‬).

باختصار: ‪VPS‬ بنظام ‪Linux‬ (‪Debian 12‬ أو ‪Ubuntu 22.04+‬)، و‪Docker‬ مع ‪docker compose‬ الإصدار ‪2‬، ونطاق مُكوَّن، وبروكسي عكسي (‪Caddy‬ أو ‪Nginx‬)، ووصول ‪SSH‬ للخادم.

قبل أي تعديل، التقط لقطة (snapshot) للخادم من لوحة الاستضافة: إنها شبكة الأمان التي تعيدك إلى حالة Plex في دقائق إذا تعثّر الانتقال. آخر إصدار من Jellyfin حتى 7 نوفمبر 2026 هو 12.4 (صدر في 26 أكتوبر 2026)، والصورة jellyfin/jellyfin:latest تتبعه.

الهجرة خطوة بخطوة

  1. التقاط لقطة للخادم

    أنشئ لقطة من لوحة مزوّد الاستضافة (أو عبر واجهته البرمجية) قبل أي تعديل. لا تستغرق العملية سوى بضع دقائق، وتحمي إعدادات Plex والبيانات الوصفية والنظام معًا. لا تتجاوز هذه الخطوة: فهي ما يجعل كل ما يليها قابلًا للتراجع.

  2. تصدير بيانات Plex قبل إيقاف الخدمة

    قبل أي شيء، صدّر مكتبة ‪Plex‬ بينما لا تزال تعمل. من خادم ‪Plex‬، انسخ مجلد البيانات الوصفية (‎~/.config/Plex Media Server/‎ على ‪Linux‬، أو ‎/var/lib/plexmediaserver/‎ حسب التثبيت). تتيح لك هذه النسخة الاحتياطية استعادة قوائم التشغيل وتقدم المشاهدة في حال قررت العودة.

    ملفات الوسائط (‎/mnt/media/films‎، ‎/mnt/media/series‎، إلخ) لا تتحرك — لا تنقلها.

  3. إيقاف Plex بشكل نظيف

    أوقف حاوية أو خدمة ‪Plex‬:

    docker compose stop plex

    أو إذا كان ‪Plex‬ يعمل عبر ‪systemd‬:

    systemctl stop plexmediaserver

    أفرغ المنفذ ‪32400‬؛ سيستخدم ‪Jellyfin‬ المنفذ ‪8096‬ افتراضيًا، يمكنك ترك منفذ ‪Plex‬ حرًا أو إغلاقه في جدار الحماية.

  4. إنشاء بنية مجلدات Jellyfin

    أنشئ مجلدات التكوين والذاكرة المؤقتة التي سيستخدمها ‪Jellyfin‬:

    mkdir -p /opt/jellyfin/config /opt/jellyfin/cache

    وسائطك تبقى في موقعها الأصلي — لا تنقلها. سيُعلن عنها ‪Jellyfin‬ كمكتبات في المعالج الأولي.

  5. كتابة ملف docker-compose.yml

    أنشئ ‎/opt/jellyfin/docker-compose.yml‎ بالمحتوى التالي:

    cat > /opt/jellyfin/docker-compose.yml << 'EOF'
    services:
      jellyfin:
        image: jellyfin/jellyfin:latest
        container_name: jellyfin
        restart: unless-stopped
        environment:
          - JELLYFIN_PublishedServerUrl=https://media.yourdomain.com
        volumes:
          - /opt/jellyfin/config:/config
          - /opt/jellyfin/cache:/cache
          - /mnt/media:/media:ro
        ports:
          - "127.0.0.1:8096:8096"
    EOF

    اضبط ‎/mnt/media‎ على المسار الفعلي لوسائطك. العلامة ‎:ro‎ (قراءة فقط) ممارسة جيدة: ‪Jellyfin‬ لا يحتاج للكتابة في ملفاتك.

  6. تشغيل Jellyfin وتشغيل المعالج الأولي

    شغّل الحاوية:

    docker compose -f /opt/jellyfin/docker-compose.yml up -d

    افتح ‎http://your-ip:8096‎ في المتصفح. يطلب المعالج إنشاء حساب مشرف محلي (لا عنوان بريد إلكتروني خارجي مطلوب)، ثم الإعلان عن مكتباتك. أشر إلى مجلدات الوسائط الحالية — يُطلق ‪Jellyfin‬ فحصًا تلقائيًا ويُعيد بناء البيانات الوصفية من ‪TheMovieDB‬ و‪TheTVDB‬.

  7. تكوين البروكسي العكسي مع SSL

    اعرض ‪Jellyfin‬ عبر ‪HTTPS‬ باستخدام ‪Caddy‬ أو ‪Nginx‬. مثال تكوين ‪Caddy‬ (ملف ‎Caddyfile‎):

    media.yourdomain.com {
        reverse_proxy 127.0.0.1:8096
    }

    ‪Caddy‬ يحصل على شهادة ‪Let's Encrypt‬ ويجددها تلقائيًا. مع ‪Nginx‬، أضف رؤوس ‎X-Real-IP‎ و‎X-Forwarded-For‎ التي يستخدمها ‪Jellyfin‬ لسجلات الوصول.

  8. إعادة تكوين العملاء وتفعيل الوصول عن بُعد

    في Jellyfin (لوحة التحكم ← الشبكة)، تحقق من صحة العنوان المنشور (JELLYFIN_PublishedServerUrl). ثبّت تطبيق Jellyfin على كل جهاز (Android وiOS وAndroid TV وRoku وأجهزة تلفاز LG وSamsung وXbox) وأضف الخادم عبر عنوانه. على iPhone وiPad وApple TV، يستطيع Infuse أيضًا الاتصال بـJellyfin: وفقًا لـتوثيق Firecore، استخدم «إضافة خادم وسائط» واختر Jellyfin مع تسجيل دخول مباشر إلى الخادم. أما Plexamp فيبقى مشغّلًا خاصًا بـPlex: تمرّ الموسيقى عبر Navidrome (انظر أدناه).

    اختبر الوصول من اتصال الهاتف المحمول (لا من شبكة Wi-Fi المنزلية) للتأكد من أن الوصول عن بُعد يعمل دون قيود.

  9. استعادة سجل المشاهدة (اختياري)

    لا يقرأ Jellyfin قاعدة بيانات SQLite الخاصة بـPlex. لسجل «تمت المشاهدة / قيد المشاهدة»، تزامن الأداة المجتمعية JellyPlex-Watched الحالات محليًا بين Plex وJellyfin، مستخدمًا تلو الآخر، بمطابقة الملفات حسب الاسم وحسب معرّفات البيانات الوصفية (TMDB وTVDB). شغّلها والخادمان قيد التشغيل: أعد تشغيل Plex طوال مدة المزامنة، ثم أوقفه من جديد.

    تُعاد قوائم تشغيل الفيديو يدويًا في واجهة Jellyfin، وتكفي بضع دقائق لاستخدام عائلي.

  10. إبقاء Plex احتياطيًا ثم إزالته

    اترك Plex متوقفًا لكن مثبّتًا مدة 48 ساعة على الأقل، ريثما تتحقق من عمل Jellyfin على كل أجهزة المنزل. وحين تتأكد، أزل الحزمة وإعداداتها:

    systemctl disable --now plexmediaserver
    apt remove --purge plexmediaserver
    rm -rf /var/lib/plexmediaserver

    مع Docker، يؤدي الأمر docker compose down ثم حذف مجلد إعدادات Plex المهمة نفسها. وتبقى لقطة الخطوة الأولى وسيلة التراجع حتى تلك اللحظة.

نشر Jellyfin عبر Nginx بدلًا من Caddy

إذا كان خادمك يخدم مواقع أخرى عبر Nginx، فاحتفظ به. يتبع الإعداد أدناه التوجيهات التي يوصي بها توثيق Jellyfin: إعادة توجيه HTTP إلى HTTPS، وترويسات X-Forwarded-*، وتعطيل التخزين المؤقت للبث، وكتلة /socket مخصّصة لاتصالات WebSocket التي يستخدمها العملاء للتشغيل المتزامن والإشعارات.

# /etc/nginx/sites-available/jellyfin
server {
    listen 80;
    server_name media.yourdomain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name media.yourdomain.com;

    ssl_certificate     /etc/letsencrypt/live/media.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/media.yourdomain.com/privkey.pem;
    ssl_protocols TLSv1.3 TLSv1.2;

    client_max_body_size 20M;
    add_header X-Content-Type-Options "nosniff";

    location / {
        proxy_pass http://127.0.0.1:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_buffering off;
    }

    location /socket {
        proxy_pass http://127.0.0.1:8096;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

احصل على الشهادة عبر Certbot (أبقِ كتلة المنفذ 80 لعمليات التجديد) أو عبر شبكة CDN بوضع Full (strict). فعّل الموقع ثم أعد تحميل Nginx:

ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

لا تنشر المنفذ 8096 مباشرة على الإنترنت أبدًا: يضمن الربط 127.0.0.1:8096:8096 في ملف Compose ألا يصل إليه سوى Nginx. ولـNavidrome، كرّر الكتلة مع نطاق فرعي آخر والمنفذ 4533.

وماذا عن الموسيقى؟ الانتقال من Plexamp إلى Navidrome

يستطيع Jellyfin تشغيل الموسيقى، لكنها ليست نقطة قوته. إذا كنت تستمع إلى مكتبتك عبر Plexamp، فاعلم أن جدار الدفع في Plex يستهدف الفيديو فقط: وفقًا لصفحة عروض Plex، تبقى الموسيقى والصور متاحة عن بُعد في Plexamp وPlex Photos دون اشتراك. لذلك يصبح Navidrome مفيدًا حين تريد مغادرة Plex كليًا. إنه خادم موسيقى حر (GPL-3.0، مكتوب بلغة Go) ومتوافق مع واجهة Subsonic: يتصل به كل عملاء Subsonic وMadsonic وAirsonic على الهاتف والحاسوب. وهو يحوّل الترميز فوريًا، ويدعم Opus، ويستورد قوائم .m3u تلقائيًا. الإصدار الحالي حتى 7 نوفمبر 2026 هو 0.64.2. يشرح دليل استضافة Navidrome على خادم VPS تثبيتًا كاملًا؛ وإليك الانتقال من Plex.

نقل مكتبة الموسيقى إلى Navidrome

  1. تدقيق وسوم الملفات

    يرتّب Navidrome الموسيقى حسب البيانات الوصفية المضمّنة في الملفات، لا حسب المجلدات. افحص عيّنة:

    find /mnt/media/musique -name '*.mp3' | head -20 | xargs -d '\n' id3v2 -l

    يجب ملء الحقول TPE1 (الفنان) وTALB (الألبوم) وTIT2 (العنوان). يُستورد الملف الخالي من هذه الوسوم، لكنه يظهر بشكل سيئ. ولتصحيح الوسوم دفعةً واحدة، تعيد الأداة الحرة beets وسم المجموعة اعتمادًا على قاعدة MusicBrainz.

  2. نشر Navidrome عبر Docker Compose

    يتبع الملف المثال الوارد في توثيق Navidrome: الصورة الرسمية navidrome/navidrome، ومستخدم غير root، والموسيقى مركّبة للقراءة فقط.

    mkdir -p /opt/navidrome/data
    cat > /opt/navidrome/docker-compose.yml << 'EOF'
    services:
      navidrome:
        image: navidrome/navidrome:latest
        container_name: navidrome
        user: 1000:1000
        restart: unless-stopped
        ports:
          - "127.0.0.1:4533:4533"
        environment:
          ND_LOGLEVEL: info
        volumes:
          - /opt/navidrome/data:/data
          - /mnt/media/musique:/music:ro
    EOF
    docker compose -f /opt/navidrome/docker-compose.yml up -d

    يجب أن يشير التوجيه user إلى UID:GID المالك للمجلد /opt/navidrome/data (يعطيك إياهما id -u وid -g)؛ ولا أثر هنا للمتغيرين PUID/PGID. ومن دونه تعمل الحاوية بصلاحيات root.

  3. إنشاء حساب المسؤول وربط العملاء

    افتح Navidrome خلف البروكسي العكسي (نطاق فرعي مخصّص، والمنفذ 4533 داخليًا). أول حساب يُنشأ هو حساب المسؤول. يبدأ الفحص الأول للمكتبة تلقائيًا عند تشغيل الحاوية؛ تابعه في السجلات (docker logs navidrome). على الهاتف، يكفي أي عميل متوافق مع Subsonic: أدخل عنوان HTTPS واسم المستخدم وكلمة المرور.

  4. استعادة قوائم التشغيل

    يستورد Navidrome تلقائيًا ملفات .m3u التي يجدها في المكتبة ويحافظ على تزامنها. صدّر إذن قوائم Plex بصيغة .m3u بمسارات نسبية إلى جذر الموسيقى، وضعها في /mnt/media/musique: ستظهر في الفحص التالي. وإلا فأعد إنشاءها في واجهة الويب، التي تقبل أيضًا سحب المقاطع وإفلاتها.

Plex وJellyfin وNavidrome: مقارنة وظيفية

مرّر الجدول أفقيًا

الميزةPlex (دون Pass)JellyfinNavidrome
البث المحلي (شبكة المنزل)نعمنعمنعم (موسيقى)
بث الفيديو عن بُعدمدفوع (Remote Watch Pass بـ2.99 دولار شهريًا، أو Plex Pass)مجانيلا ينطبق (صوت فقط)
بث الموسيقى عن بُعدمجاني في Plexampمجانيمجاني
حساب خارجي إلزامينعم (plex.tv)لالا
رخصة الكودمملوكةGPL-2.0GPL-3.0
العملاءتطبيقات Plex وPlexampتطبيقات Jellyfin الرسمية وInfuseأي عميل متوافق مع Subsonic
الترميز بالعتادمدفوع (يتطلب Plex Pass)مجاني (Quick Sync وVAAPI وNVENC)لا ينطبق (تحويل صوتي برمجي)
الضيوف في البث عن بُعدPlex Pass للمسؤول أو Remote Watch Pass لكل ضيفدون سقف، حسابات محليةدون سقف، حسابات محلية

التكوين الموصى به بعد التثبيت

بمجرد اكتمال الهجرة، بعض الإعدادات تحسّن التجربة اليومية.

البيانات الوصفية. يستخدم ‪Jellyfin‬ ‪TheMovieDB‬ و‪TheTVDB‬ افتراضيًا. إذا لم تُعرَّف بعض الأفلام أو المسلسلات تلقائيًا، أعد تسمية الملفات وفق الاصطلاح ‎Title (Year)/Title (Year).mkv‎ للأفلام و‎Series/Season 01/Series - S01E01.mkv‎ للمسلسلات.

الترجمات. فعّل ‪OpenSubtitles‬ أو الترجمات المدمجة من لوحة التحكم ← المكوّنات الإضافية. الاسترداد تلقائي أثناء فحص المكتبة.

ترميز الأجهزة. إذا كان ‪VPS‬ الخاص بك يحتوي على شريحة ‪Intel‬، فعّل ‪VAAPI‬ من لوحة التحكم ← التشغيل ← الترميز. هذا يقلل بشكل ملحوظ من حمل ‪CPU‬ أثناء تحويلات البث.

تأمين الوصول إلى Jellyfin

بمجرد وضعه خلف البروكسي العكسي، يعرض Jellyfin شاشة تسجيل الدخول للإنترنت كله. بعض الإجراءات منذ اليوم الأول: أنشئ حسابًا لكل شخص من لوحة التحكم ← المستخدمون، دون صلاحيات إدارية لحسابات العائلة، واحذف الحسابات التي لم تعد مستخدمة. لا يتضمن Jellyfin مصادقة ثنائية مدمجة: إن أردتها، فضع مزوّد هوية (Authelia أو Authentik) أمام الواجهة. قيّد الوصول إلى لوحة التحكم بالشبكة المحلية حيثما أمكن، ومع Nginx ضع حدًا للمعدل على /Users/AuthenticateByName لإبطاء هجمات التخمين. وأخيرًا، حافظ على تحديث الصورة: docker compose pull && docker compose up -d يجلب تصحيحات الأمان.

استكشاف الأخطاء: أخطاء شائعة بعد الهجرة

بعض الأخطاء تظهر باستمرار أثناء الهجرة من ‪Plex‬ إلى ‪Jellyfin‬.

‎Connection refused‎ على المنفذ 8096. الحاوية تعمل لكن لا شيء يستجيب. تحقق من أن تعيين المنفذ هو ‎127.0.0.1:8096:8096‎ وليس ‎0.0.0.0:8096:8096‎ إذا كنت تريد التوجيه عبر البروكسي العكسي. أمر التشخيص: ‎docker logs jellyfin‎.

البيانات الوصفية لا تُحمَّل. قد يستغرق الفحص الأولي من 10 دقائق إلى عدة ساعات حسب حجم المكتبة. راقب التقدم من لوحة التحكم ← النشاط. إذا بقيت ملفات بدون ملصقات، تحقق من اصطلاح التسمية وأجبر فحصًا جديدًا.

الوصول عن بُعد لا يعمل. إذا كانت ‎https://media.yourdomain.com‎ تستجيب من الخادم لكن ليس من الخارج، تحقق من أن جدار الحماية يسمح بالمنفذ 443 (‎ufw allow 443‎)، وأن ‪DNS‬ يشير إلى ‪IP‬ الصحيحة، وأن ‎JELLYFIN_PublishedServerUrl‎ يتطابق تمامًا مع عنوان ‪URL‬ العام المُكوَّن في البروكسي العكسي.

لا يعثر Infuse على الخادم. أضفه بوصفه خادم Jellyfin لا خادم Plex، واكتب عنوان HTTPS الكامل يدويًا. لا يعمل الاكتشاف التلقائي إلا على الشبكة المحلية؛ أما عن بُعد فالعنوان اليدوي هو الطريق الموثوق الوحيد.

ترميز ‪CPU‬ يرتفع إلى 100%. بدون تسريع الأجهزة، بث واحد بدقة ‪4K‬ قد يُشبع عدة أنوية. انتقل إلى ‪VAAPI‬ إذا كان معالجك يدعم ذلك، أو شجّع مستخدميك على تفعيل ‪Direct Play‬ في إعدادات عملائهم.

تبقى المكتبة فارغة بعد الفحص الأول. المسار المركّب في Docker لا يطابق المجلد الحقيقي. تحقق مما تراه الحاوية، ثم من حالة الخدمة عبر البروكسي:

docker exec jellyfin ls /media
curl -s https://media.yourdomain.com/health

إذا لم يُظهر ls شيئًا، فصحّح المجلد في docker-compose.yml وأعد تشغيل الحاوية؛ ويجب أن يجيب /health بـHealthy.

يفشل الترميز برسالة خطأ من ffmpeg. السبب في الغالب هو تفعيل الترميز بالعتاد على خادم لا يتيح وحدة GPU للحاوية. عطّل التسريع من لوحة التحكم ← التشغيل، واترك Jellyfin يحوّل الترميز برمجيًا: على خادم دون GPU، هذا هو الإعداد الطبيعي.

قراءة إضافية وأدلة ذات صلة

تغطي هذه الهجرة استبدال Plex، لكن Jellyfin يندرج ضمن منظومة أوسع. إذا كنت تبدأ من الصفر (دون Plex سابق)، فإن دليل استضافة Jellyfin على خادمك الخاص يغطي التثبيت الأولي من البداية. ولمقارنة وظيفية معمّقة بين المنصتين، راجع Jellyfin مقابل Plex: أي خادم وسائط تختار. وللموسيقى، يذهب دليل Navidrome أبعد من الانتقال الموصوف هنا.

إذا كانت هذه الهجرة جزءًا من توجه أوسع نحو الاستضافة الذاتية لخفض تكاليف SaaS، فإن استضافة Ghost على خادمك تغطي حالة شائعة أخرى. المنطق واحد: برنامج حر، وخادم VPS، ووصول تتحكم أنت في قواعده.

التوثيق الرسمي لـJellyfin (jellyfin.org/docs) شامل ويُحدَّث باستمرار، وهو المرجع للحالات المتقدمة (الترميز بالعتاد وLDAP والإضافات والبروكسي العكسي المتقدم).

خادم Jellyfin الخاص بك في دقائق

يوزّع قالب ‪Jellyfin‬ على ‪ServOrbit‬ بيئة ‪Docker‬ مُكوَّنة مسبقًا على ‪VPS‬ مخصص: وصول ‪root‬، عنوان ‪IP‬ مخصص، بروكسي عكسي جاهز. استورد مكتبتك في نفس اليوم.