انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

تثبيت Jellyfin: خادم الوسائط المستضاف ذاتياً

تثبيت Jellyfin عبر Docker، تكوين مكتبة الوسائط، ترميز الأجهزة، إدارة المستخدمين، الوصول عن بُعد، Nginx reverse proxy وتطبيقات العملاء.

وقت القراءة: 14 دقيقة الاستضافة الذاتية
jellyfinخادم الوسائطself-hostingdockerبثترميز

جدول المحتويات

تثبيت Jellyfin: خادم الوسائط المستضاف ذاتياً

Jellyfin هو خادم وسائط مجاني ومفتوح المصدر يتيح لك إدارة وبث أفلامك ومسلسلاتك وموسيقاك وصورك من خادمك الخاص. على عكس Plex وEmby، فهو مجاني تماماً ولا يتطلب اشتراكاً. يمكنك الوصول إلى وسائطك من جميع أجهزتك ومشاركتها مع الأصدقاء.

ما هو Jellyfin؟

بدأ Jellyfin كفرع مفتوح المصدر من Emby ونما ليصبح مشروعاً مستقلاً. الميزات الرئيسية:

  • مجاني تماماً: لا اشتراك أو ميزات مميزة
  • متعدد المنصات: Web، Android، iOS، Roku، Apple TV، Fire TV
  • ترميز الأجهزة: دعم Intel QSV وNVIDIA NVENC وAMD AMF
  • التلفزيون المباشر: دعم DVR وIPTV
  • متعدد المستخدمين: المشاركة مع العائلة والأصدقاء
  • البيانات الوصفية: تنزيل تلقائي لمعلومات الأفلام/المسلسلات والملصقات

متطلبات النظام

  • خادم مثبت عليه Docker وDocker Compose
  • 2 غيغابايت من الذاكرة العشوائية كحد أدنى (يُنصح بـ 4 غيغابايت)
  • مساحة كافية على القرص (لملفات الوسائط)
  • GPU متوافق لترميز الأجهزة (اختياري)

التثبيت باستخدام Docker

إنشاء docker-compose.yml

hljs yaml
version: '3.8'

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    user: "1000:1000"
    environment:
      - JELLYFIN_PublishedServerUrl=https://jellyfin.example.com
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /mnt/media/movies:/media/movies:ro
      - /mnt/media/tvshows:/media/tvshows:ro
      - /mnt/media/music:/media/music:ro
    ports:
      - "127.0.0.1:8096:8096"
    devices:
      - /dev/dri:/dev/dri
hljs bash
# تشغيل الحاوية
docker compose up -d

# فحص السجلات
docker logs jellyfin -f

يُنصح بتركيب أدلة الوسائط كـ :ro (للقراءة فقط) لأسباب أمنية.

هيكل دليل الوسائط

/mnt/media/
├── movies/
│   ├── Inception (2010)/
│   │   └── Inception (2010).mkv
│   └── The Matrix (1999)/
│       └── The Matrix (1999).mp4
├── tvshows/
│   └── Breaking Bad/
│       ├── Season 01/
│       │   ├── S01E01.mkv
│       │   └── S01E02.mkv
│       └── Season 02/
└── music/
    └── الفنان/
        └── الألبوم/
            └── 01 - المقطوعة.flac

الإعداد الأولي

بعد التثبيت، انتقل إلى http://IP_الخادم:8096:

  1. اختر اللغة
  2. أنشئ حساب المشرف
  3. أضف مكتبات الوسائط:
    • النوع: أفلام، مسلسلات، موسيقى، صور
    • المجلد: /media/movies، /media/tvshows إلخ
  4. اختر لغة البيانات الوصفية
  5. أكمل الإعداد

ترميز الأجهزة

Intel Quick Sync (QSV)

hljs yaml
services:
  jellyfin:
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "109"
hljs bash
# التحقق من توفر Intel GPU
ls /dev/dri
# الإخراج: card0  renderD128

# الحصول على معرف مجموعة render
stat -c '%g' /dev/dri/renderD128

التفعيل في Jellyfin:

لوحة التحكم → التشغيل → الترميز
→ تسريع الأجهزة: Intel QuickSync (QSV)
→ تفعيل: H.264، H.265، VP9

NVIDIA GPU

hljs yaml
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
hljs bash
# تثبيت NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  tee /etc/apt/sources.list.d/nvidia-docker.list
apt update && apt install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

إدارة المستخدمين

إنشاء المستخدمين

لوحة التحكم → المستخدمون → مستخدم جديد
- اسم المستخدم وكلمة المرور
- أذونات الوصول إلى المكتبة
- الرقابة الأبوية (تصنيف المحتوى)
- إذن الوصول عن بُعد

الوصول عن بُعد وNginx Proxy

تكوين Nginx

hljs nginx
server {
    listen 80;
    server_name jellyfin.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name jellyfin.example.com;

    ssl_certificate /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jellyfin.example.com/privkey.pem;

    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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
        proxy_read_timeout 3600;
    }
}

تطبيقات العملاء

  • Web: https://jellyfin.example.com
  • Android: Jellyfin من Google Play
  • iOS: Jellyfin من App Store
  • Kodi: إضافة Jellyfin لـ Kodi
  • Roku: قناة Jellyfin
  • Apple TV: تطبيق tvOS

النسخ الاحتياطي

hljs bash
# نسخ احتياطي لتكوين Jellyfin
tar -czf jellyfin-config-$(date +%Y%m%d).tar.gz ./config/

# نسخ احتياطي تلقائي
cat > /etc/cron.weekly/jellyfin-backup << 'EOF'
#!/bin/bash
tar -czf /backups/jellyfin-$(date +%Y%m%d).tar.gz /opt/jellyfin/config/
find /backups -name "jellyfin-*.tar.gz" -mtime +60 -delete
EOF
chmod +x /etc/cron.weekly/jellyfin-backup

يمكنك استخدام ترميز الأجهزة على خوادم REXE المخصصة. خوادمنا المزودة بـ GPU من Intel أو NVIDIA مثالية لمحتوى 4K.