Jellyfin Kurulumu: Self-Hosted Medya Sunucusu
Jellyfin Docker kurulumu, medya kütüphanesi yapılandırması, hardware transcoding, kullanıcı yönetimi, remote access, Nginx reverse proxy ve istemci uygulamaları.
İçindekiler
Jellyfin Kurulumu: Self-Hosted Medya Sunucusu
Jellyfin, film, dizi, müzik ve fotoğraflarınızı kendi sunucunuzda yönetip yayınlamanızı sağlayan ücretsiz ve açık kaynaklı bir medya sunucusudur. Plex ve Emby'nin aksine tamamen ücretsizdir ve herhangi bir abonelik gerektirmez. Tüm cihazlarınızdan medyanıza erişebilir, arkadaşlarınızla paylaşabilirsiniz.
Jellyfin Nedir?
Jellyfin, Emby'nin açık kaynaklı fork'u olarak başlamış ve bağımsız bir proje haline gelmiştir. Öne çıkan özellikleri:
- Tamamen Ücretsiz: Abonelik veya premium özellik yok
- Çoklu Platform: Web, Android, iOS, Roku, Apple TV, Fire TV
- Hardware Transcoding: Intel QSV, NVIDIA NVENC, AMD AMF desteği
- Canlı TV: DVR ve IPTV desteği
- Çoklu Kullanıcı: Aile ve arkadaşlarla paylaşım
- Metadata: Otomatik film/dizi bilgisi ve poster indirme
Sistem Gereksinimleri
- Docker ve Docker Compose kurulu sunucu
- Minimum 2 GB RAM (4 GB önerilir)
- Yeterli disk alanı (medya dosyaları için)
- Hardware transcoding için uyumlu GPU (opsiyonel)
Docker ile Kurulum
docker-compose.yml Oluşturma
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/films:/media/films:ro
- /mnt/media/diziler:/media/diziler:ro
- /mnt/media/muzik:/media/muzik:ro
ports:
- "127.0.0.1:8096:8096"
# Hardware transcoding için (Intel)
devices:
- /dev/dri:/dev/dri
# Container'ı başlat
docker compose up -d
# Logları kontrol et
docker logs jellyfin -f
Medya dizinlerini :ro (read-only) olarak bağlamak güvenlik açısından önerilir. Jellyfin'in medya dosyalarını değiştirmesine gerek yoktur.
Medya Dizin Yapısı
/mnt/media/
├── films/
│ ├── Inception (2010)/
│ │ └── Inception (2010).mkv
│ └── The Matrix (1999)/
│ └── The Matrix (1999).mp4
├── diziler/
│ └── Breaking Bad/
│ ├── Season 01/
│ │ ├── S01E01.mkv
│ │ └── S01E02.mkv
│ └── Season 02/
└── muzik/
└── Artist/
└── Album/
└── 01 - Track.flac
İlk Yapılandırma
Kurulum sonrası http://SUNUCU_IP:8096 adresine gidin:
- Dil seçimi yapın
- Admin hesabı oluşturun
- Medya kütüphanesi ekleyin:
- Tür: Filmler, Diziler, Müzik, Fotoğraflar
- Klasör:
/media/films,/media/dizilervb.
- Metadata dili seçin (Türkçe desteklenir)
- Kurulumu tamamlayın
Kütüphane Yönetimi
Metadata Sağlayıcıları
Yönetim → Kütüphaneler → [Kütüphane] → Düzenle
Filmler için:
- TheMovieDb (TMDB) - önerilir
- IMDb
- The Open Movie Database
Diziler için:
- TheTVDB - önerilir
- TheMovieDb
Kütüphane Tarama
# Manuel tarama tetikle (API ile)
curl -X POST "http://localhost:8096/Library/Refresh" \
-H "X-Emby-Token: API_TOKEN"
# Zamanlanmış tarama: Yönetim → Zamanlama
Hardware Transcoding
Intel Quick Sync (QSV)
# docker-compose.yml
services:
jellyfin:
devices:
- /dev/dri:/dev/dri
group_add:
- "109" # render grubu
# Intel GPU'nun mevcut olduğunu doğrula
ls /dev/dri
# Çıktı: card0 renderD128
# Render grubunu öğren
stat -c '%g' /dev/dri/renderD128
Jellyfin'de etkinleştirme:
Yönetim → Oynatma → Transcoding
→ Donanım hızlandırma: Intel QuickSync (QSV)
→ Etkinleştir: H.264, H.265, VP9
NVIDIA GPU
# docker-compose.yml
services:
jellyfin:
image: jellyfin/jellyfin:latest
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
# NVIDIA Container Toolkit kurulumu
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
Kullanıcı Yönetimi
Kullanıcı Oluşturma
Yönetim → Kullanıcılar → Yeni Kullanıcı
- Kullanıcı adı ve şifre
- Kütüphane erişim izinleri
- Ebeveyn kontrolü (içerik derecelendirmesi)
- Uzaktan erişim izni
Ebeveyn Kontrolü
Kullanıcı Ayarları → Ebeveyn Kontrolü
- Maksimum içerik derecelendirmesi: G, PG, PG-13, R
- Belirli kütüphanelere erişimi engelle
- PIN ile koruma
Remote Access ve Nginx Proxy
Nginx Yapılandırması
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;
# Güvenlik başlıkları
add_header X-Frame-Options "SAMEORIGIN";
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;
# WebSocket desteği
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Büyük dosya transferi için
proxy_buffering off;
proxy_read_timeout 3600;
}
}
Jellyfin Ağ Ayarları
Yönetim → Ağ
- Yayınlanan sunucu URL'si: https://jellyfin.example.com
- Uzaktan erişime izin ver: Etkin
- Uzak bağlantılar için SSL gerektir: Etkin
İstemci Uygulamaları
- Web:
https://jellyfin.example.com - Android: Google Play'den Jellyfin
- iOS: App Store'dan Jellyfin
- Kodi: Jellyfin for Kodi eklentisi
- Roku: Jellyfin kanalı
- Apple TV: tvOS uygulaması
Yedekleme
# Jellyfin yapılandırmasını yedekle
tar -czf jellyfin-config-$(date +%Y%m%d).tar.gz ./config/
# Otomatik yedekleme
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 dedicated sunucularında Jellyfin için hardware transcoding kullanabilirsiniz. Intel veya NVIDIA GPU'lu sunucularımız 4K içerik için idealdir.
İlgili Makaleler
Coolify Kurulumu: Self-Hosted PaaS ile Uygulama Deployment
Coolify kurulumu, Docker ve Git entegrasyonu, uygulama deployment, veritabanı yönetimi, SSL sertifikaları, environment variables ve Heroku/Netlify alternatifi self-hosted PaaS.
Nextcloud Kurulumu: Self-Hosted Bulut Depolama ve İşbirliği
Nextcloud kurulumu Docker ile, Apache/Nginx yapılandırması, veritabanı kurulumu, SSL sertifikası, dosya senkronizasyonu, uygulama mağazası ve performans optimizasyonu.
Portainer ile Docker Yönetimi: Web Arayüzlü Konteyner Kontrolü
Portainer CE kurulumu, Docker ve Kubernetes yönetimi, stack deployment, volume/network yönetimi, kullanıcı yetkilendirme, webhook ve GitOps entegrasyonu.