VPS üzerinde Jellyfin: kendi medya sunucunuzu nasıl oluşturursunuz?
Videolarla dolu bir klasör, nadiren kullanışlı bir medya kütüphanesi gibi görünür: tutarsız dosya adları, ayrı altyazılar ve doğru bölümü bulmak için manuel aramalar. Jellyfin bu arşivi posterler, açıklamalar, kullanıcı profilleri ve oynatma ilerlemesi olan kişisel bir yayın hizmetine dönüştürür.
Jellyfin abonelik satmaz ve hazır bir içerik kataloğu da sunmaz. Kendi dosyalarınızla çalışır; ev bilgisayarında, NAS’ta veya VPS’te çalışabilir. Aşağıda özelliklerini, sunucu gereksinimlerini ve alan adı ile HTTPS kullanarak Ubuntu üzerinde kurulumunu inceleyeceğiz.
Jellyfin nedir ve neden ihtiyacınız olabilir?
Jellyfin ücretsiz ve açık kaynaklı bir medya sunucusudur. Sunucu filmleri, dizileri, müzikleri, fotoğrafları ve diğer içerikleri indeksler; istemci uygulamaları bunları telefonda, bilgisayarda veya televizyonda oynatır.
Klasörleri taradıktan sonra Jellyfin poster ve açıklamaları indirir, dizileri sezonlara göre düzenler, oynatma ilerlemesini hatırlar ve “Continue Watching” bölümünü gösterir. Aile üyeleri için ayrı yerel profiller oluşturabilir, kütüphanelere erişimi sınırlayabilir ve ebeveyn denetimlerini yapılandırabilirsiniz. Quick Connect, kullanıcıların uzun bir parola girmek yerine kısa bir kodla televizyonda oturum açmasını sağlar.
Android, iOS, Android TV, Roku, webOS, Tizen, Xbox ve masaüstü bilgisayarlar için istemciler mevcuttur. Jellyfin ayrıca web arayüzü ve Kodi entegrasyonu sunar.
Jellyfin müzik, IPTV, TV tuner’ları ve canlı TV kaydını da destekler. SyncPlay birden fazla kullanıcı için oynatmayı senkronize eder; eklentiler altyazılar, yeni meta veri kaynakları ve entegrasyonlar ekler.
Jellyfin filmleri kendi başına aramaz veya indirmez. Yalnızca sunucu sahibinin zaten sahip olduğu içerikleri düzenler ve yayınlar.
Jellyfin ve Plex: temel farklar
Her iki çözüm de yerel koleksiyonu bir medya hizmetine dönüştürür, ancak farklı modeller kullanır.
| Parametre | Jellyfin | Plex |
|---|---|---|
| Kaynak kodu | Açık kaynak | Özel mülk |
| Premium özellikler | Sunucu ve resmî istemcilerde ücretli katman yok | Bazı özellikler abonelik paketine bağlı |
| Merkezi hesap | Gerekli değil | Sağlayıcının ekosistemini kullanır |
| Uzaktan erişim | Sahibi alan adı, reverse proxy veya VPN yapılandırır | Daha fazla hazır mekanizma sunar |
| Veri üzerindeki kontrol | Maksimum | Altyapının bir kısmı sağlayıcı tarafından kontrol edilir |
İnsanlar Jellyfin’i bağımsızlık, gizlilik ve abonelik olmaması nedeniyle seçer. En önemli öncelikler mümkün olan en basit kurulum ve tüm cihazlarda tutarlı, iyi tasarlanmış uygulamalarsa Plex daha kullanışlı olabilir.
Direct Play veya transcoding: sunucuyu ne yorar?
Jellyfin performansı kütüphanenin boyutundan çok oynatma yöntemine bağlıdır.
| Mod | Ne olur | Yük |
|---|---|---|
| Direct Play | Sunucu orijinal dosyayı gönderir | Düşük |
| Direct Stream | Container veya tek bir parça değiştirilir | Düşük veya orta |
| Transcoding | Codec, çözünürlük veya bitrate anlık olarak değiştirilir | Yüksek |
Televizyon dosyanın codec’ini, sesini ve altyazılarını destekliyorsa sunucu neredeyse hiç CPU kullanmaz. İstemci biçimi işleyemediğinde, bağlantı daha düşük bitrate gerektirdiğinde veya altyazıların görüntüye işlenmesi gerektiğinde sorunlar başlar. Jellyfin bu durumda FFmpeg’i çalıştırır ve videoyu gerçek zamanlı olarak dönüştürür.
4K, HEVC, HDR ve HDR’den SDR’ye dönüşüm özellikle zahmetlidir. Grafik işlemcisi olmayan normal bir VPS, çok sayıda sanal CPU çekirdeği olsa bile zorlanabilir. Bu nedenle uyumlu biçimler ve Direct Play, bir sonraki sunucu paketine geçmekten daha fazla tasarruf sağlayabilir.
Jellyfin nasıl bir sunucuya ihtiyaç duyar?
Tipik bir kurulum için resmî öneri yaklaşık 8 GB RAM’dir. Grafik arayüzü olmayan Linux’ta küçük bir sunucu 4 GB ile çalışabilir. İşletim sistemi, veritabanı, görseller, önbellek ve geçici dosyalar için hızlı bir disk gerekir; medya kütüphanesi ayrı saklanır ve genellikle alanın çoğunu kaplar.
| Senaryo | Başlangıç yapılandırması | Yorum |
|---|---|---|
| Müzik ve bir 1080p Direct Play akışı | 2 vCPU, 4 GB RAM | Ağ ve disk hızı daha önemli |
| Küçük aile medya kütüphanesi | 4 vCPU, 8 GB RAM | Uyumlu biçimler tercih edilir |
| Ara sıra 1080p transcoding | 4–8 yüksek performanslı vCPU veya GPU | Yük codec’e bağlıdır |
| Birkaç 4K/HDR akışı | Modern Intel iGPU veya grafik kartı | Yalnızca CPU kullanan normal VPS uygun değildir |
Trafiği de hesaba katın: 20 Mbps’lik bir akış saatte yaklaşık 9 GB veri aktarır. Günlük izlemeyle kullanım ayda hızla yüzlerce gigabayta ulaşabilir.
Ev sunucusu mu, VPS mi?
Evdeki mini PC veya NAS, birkaç terabaytlık koleksiyon ve düzenli donanım transcoding’i için daha ekonomik olabilir. Büyük kapasiteli diskler takabilir ve Intel Quick Sync destekli bir işlemci seçebilirsiniz; ancak uzaktan erişim elektriğe, ev internet bağlantısına ve genel IP adresinin bulunmasına bağlıdır.
VPS’in genel bir adresi, istikrarlı bir bağlantısı vardır ve günün her saati çalışır. Müzik, küçük bir video kütüphanesi, Direct Play ve farklı konumlardaki kullanıcılar için kullanışlıdır. Sınırlamaları depolama maliyeti ve standart paketlerde GPU bulunmamasıdır.
Hibrit bir seçenek de vardır: dosyalar evde kalır, VPS ise güvenli bir giriş noktası olarak çalışır. Bu kurulum, genel IPv4 adresi olmadığında yardımcı olur, ancak oynatma hızı yine ev bağlantısının yükleme bant genişliğiyle sınırlıdır.
Docker Compose ile Ubuntu üzerinde Jellyfin kurulumu
Aşağıdaki kurulumda Jellyfin ve Caddy aynı Docker ağında çalışır. 8096 portu internete açılmaz; Caddy HTTPS bağlantılarını kabul eder ve otomatik olarak sertifika alır.
Önce alan adının A kaydını, örneğin media.example.com, sunucunun IP adresine yönlendirin.
1. Docker’ı kurun ve dizinleri oluşturun
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
sudo mkdir -p /opt/jellyfin/{config,cache,caddy-data,caddy-config}
sudo mkdir -p /srv/media/{movies,series,music}
cd /opt/jellyfin2. /opt/jellyfin/compose.yaml oluşturun
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
volumes:
- ./config:/config
- ./cache:/cache
- /srv/media:/media:ro
networks: [media]
caddy:
image: caddy:2
container_name: jellyfin-caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks: [media]
networks:
media::ro seçeneği medya kütüphanesini salt okunur olarak bağlar ve orijinal dosyaları Jellyfin üzerinden yanlışlıkla silinmeye karşı korur.
3. /opt/jellyfin/Caddyfile oluşturun
media.example.com {
reverse_proxy jellyfin:8096
}Alan adını kendi alan adınızla değiştirin, container’ları başlatın ve gerekli portları açın:
sudo docker compose up -d
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enableSSH farklı bir port kullanıyorsa ufw enable çalıştırılmadan önce ayrı bir kuralla izin verin.
Sertifika alındıktan sonra https://media.example.com adresini açın. Jellyfin’in ağ ayarlarında reverse proxy’yi güvenilir proxy listesine ekleyin; böylece harici erişim kısıtlamaları doğru çalışır.
İlk medya kütüphanesi kurulumu
Kurulum sihirbazında bir dil seçin, yönetici oluşturun ve kütüphaneleri ekleyin:
- movies —
/media/movies; - TV shows —
/media/series; - music —
/media/music.
Doğru tanımlama için anlaşılır adlar kullanın:
/media/movies/Movie Title (2024)/Movie Title (2024).mkv
/media/series/Series Title (2024)/Season 01/Series Title S01E01.mkvİzleme için ayrı bir standart profil oluşturun ve yönetici hesabını oturum açma ekranından gizleyin. Kullanıcılara yalnızca ihtiyaç duydukları kütüphanelere erişim verin ve gerekli değilse dosya silmelerine izin vermeyin.
Güncellemeler ve yedekler
Jellyfin yapılandırması kullanıcıları, ayarları, veritabanını ve oynatma ilerlemesini içerir. Güncellemeden önce container’ı durdurun ve config dizinini kaydedin:
cd /opt/jellyfin
sudo docker compose stop jellyfin
sudo tar -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker compose start jellyfinArşivi VPS’in dışına taşıyın. Medya dosyalarını ayrı yedekleyin.
Güncellemek için çalıştırın:
sudo docker compose pull
sudo docker compose up -d8096 portunu doğrudan açmayın. HTTPS veya VPN kullanın, güncellemeleri düzenli olarak yükleyin ve kullanılabilir disk alanını izleyin.
tropic.host VPS üzerinde Jellyfin
Çoğunlukla Direct Play kullanan küçük bir medya kütüphanesi için 4 GB RAM’li bir Linux VPS ile başlayabilirsiniz. Birkaç kullanıcı, büyük bir veritabanı ve ek hizmetler için 8 GB daha makul bir seçimdir.
tropic.host VPS’i seçerken depolama kapasitesini, aylık trafiği ve transcoding ihtiyacını ayrı ayrı değerlendirin. Genel IP adresi ve HTTPS ile her zaman erişilebilir bir uç nokta olarak sanal sunucu kullanışlıdır, ancak GPU sunucusunun yerini tutmaz. Biçim dönüşümüyle birlikte birkaç 4K/HDR akışına ihtiyacınız varsa Intel iGPU’lu bir ev sunucusu, özel sunucu veya grafik kartlı özel bir paket daha iyi seçenektir.
Küçük bir koleksiyonla başlayın, Jellyfin kontrol panelinde Direct Play oturumlarının oranını kontrol edin ve ancak gerçek yüke göre CPU, RAM veya depolamayı artırın.
Özet
Jellyfin kendi koleksiyonunuzu zorunlu abonelik veya merkezi hesap olmadan kişisel bir yayın hizmetine dönüştürür. Başarılı bir kurulum için depolama, trafik ve transcoding olasılığını önceden tahmin etmek önemlidir.
Direct Play kullanan küçük bir sunucu çoğu zaman 4–8 GB RAM ile idare edebilir. Düzenli 4K/HDR oynatma donanımsal video işleme gerektirir. Yapılandırma ne olursa olsun harici erişimi HTTPS veya VPN ile koruyun, ayarları ve medya kütüphanesini ayrı yedekleyin.
FAQ
Jellyfin tamamen ücretsiz mi?
Evet. Sunucu ve istemciler premium paket olmadan kullanılabilir. Yalnızca donanım, VPS, diskler, alan adı ve trafik için ödeme yapmanız gerekir.
Jellyfin izlemeye hazır film ve diziler içeriyor mu?
Hayır. Kullanıcılar kendi medya dosyalarını ekler.
Jellyfin ekran kartı olmayan bir VPS’te çalışabilir mi?
Evet, dosyaların çoğu Direct Play üzerinden oynatılıyorsa. Sık 4K ve HDR transcoding’i uygun bir iGPU veya grafik kartına sahip sunucu gerektirir.
Jellyfin ne kadar RAM gerektirir?
Küçük bir Linux sunucusu 4 GB RAM ile çalışabilir. Aile medya kütüphanesi ve birkaç kullanıcı için 8 GB daha iyi bir hedeftir.
Jellyfin’e internet üzerinden güvenli şekilde nasıl erişirim?
Reverse proxy üzerinden domain ve HTTPS kullanın ya da VPN kullanın. 8096 portunu doğrudan açmayın ve minimum izinlere sahip ayrı kullanıcı hesapları oluşturun.
