تثبيت Jellyfin: خادم الوسائط المستضاف ذاتياً
تثبيت Jellyfin عبر Docker، تكوين مكتبة الوسائط، ترميز الأجهزة، إدارة المستخدمين، الوصول عن بُعد، Nginx reverse proxy وتطبيقات العملاء.
جدول المحتويات
تثبيت 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
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
# تشغيل الحاوية
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:
- اختر اللغة
- أنشئ حساب المشرف
- أضف مكتبات الوسائط:
- النوع: أفلام، مسلسلات، موسيقى، صور
- المجلد:
/media/movies،/media/tvshowsإلخ
- اختر لغة البيانات الوصفية
- أكمل الإعداد
ترميز الأجهزة
Intel Quick Sync (QSV)
services:
jellyfin:
devices:
- /dev/dri:/dev/dri
group_add:
- "109"
# التحقق من توفر 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
services:
jellyfin:
image: jellyfin/jellyfin:latest
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
# تثبيت 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
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
النسخ الاحتياطي
# نسخ احتياطي لتكوين 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.
مقالات ذات صلة
تثبيت Coolify: نشر التطبيقات مع PaaS المستضاف ذاتياً
تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.
تثبيت Nextcloud: التخزين السحابي المستضاف ذاتياً والتعاون
تثبيت Nextcloud مع Docker، تهيئة Apache/Nginx، إعداد قاعدة البيانات، شهادة SSL، مزامنة الملفات، متجر التطبيقات وتحسين الأداء.
إدارة Docker مع Portainer: التحكم في الحاويات عبر واجهة الويب
تثبيت Portainer CE، إدارة Docker وKubernetes، نشر الـ stacks، إدارة الأحجام/الشبكات، تفويض المستخدمين، Webhooks وتكامل GitOps.