İçeriğe Atla
Mustafa Erbay
Teknoloji · 12 dk okuma · görüntülenme Read in English
100%

Jellyfin'e Geçtim ve Geri Dönmedim: Plex 250 Dolara Çıkınca

Plex Pass'in fiyat politikasındaki değişim sonrası Jellyfin'e geçiş deneyimimi, kurulumdan performansa, güvenlikten kullanıcı deneyimine kadar tüm…

Plex ve Jellyfin logoları, bir bilgisayar ekranında karşılaştırma arayüzü

Geçtiğimiz kış, Plex Pass lifetime üyeliğimin fiyatı bir anda 250 dolara çıktığında, yıllardır ailemle birlikte kullandığım medya sunucusu çözümünü değiştirme kararı aldım. Bu ani fiyat artışı, beni açık kaynaklı bir alternatif olan Jellyfin’e yöneltti ve bu süreç, kendi verimin kontrolünü ne kadar önemsediğimi bana bir kez daha gösterdi. Neticede, Jellyfin’e geçtim ve bir daha Plex’e geri dönmedim; bu yazı da neden böyle bir tercih yaptığımı ve geçiş sürecinde neler yaşadığımı detaylandırıyor.

Plex Neden Bardağı Taşıran Son Damla Oldu?

Uzun yıllardır Plex kullanıcısıydım. Medya kütüphanemi organize etme, farklı cihazlardan erişim sağlama ve transkoding gibi özellikleri benim için vazgeçilmezdi. Özellikle mobil cihazlardan veya uzaktan erişimde, Plex’in basit arayüzü ve performansı oldukça işime yarıyordu. Ancak, 2025’in sonlarına doğru, Plex Pass lifetime üyeliğinin fiyatının aniden 119.99 USD’den 250 USD’ye yükseldiğini gördüğümde, bu durum benim için bir dönüm noktası oldu.

Bu fiyat artışı sadece bir maliyet meselesi değildi; aynı zamanda bir ürünün fiyatlandırma stratejisi üzerindeki kontrolün tamamen sağlayıcıda olmasının getirdiği bir rahatsızlıktı. Yıllarca yatırım yaptığım bir ekosistemin, benim kontrolüm dışında bu kadar büyük bir fiyat zammıyla karşılaşması, alternatif arayışımı hızlandırdı. Özellikle kendi sunucumda çalıştırdığım, kendi donanımımı ve bandwidth’imi kullandığım bir hizmet için, bulut tabanlı bir hizmetin maliyet artışına benzer bir durumla karşılaşmak mantıksız geliyordu. Kendi yan ürünümün finansal hesaplayıcılarını geliştirirken bile, abonelik modellerinin uzun vadeli sürdürülebilirliğini ve kullanıcıya dayattığı maliyetleri sürekli göz önünde bulundururum. Bu durum, benim için Plex’in “kullanıcı dostu” imajını ciddi şekilde zedeledi.

Jellyfin’e Geçiş Süreci: Veri ve Konfigürasyon Taşıma Zorlukları

Plex’ten Jellyfin’e geçiş kararı aldıktan sonra, ilk aklıma gelen soru, yıllardır biriktirdiğim medya kütüphanesi metadata’mı, izleme geçmişimi ve kullanıcı ayarlarımı nasıl taşıyacağımdı. Açıkçası, bu süreç biraz sancılı oldu çünkü direkt bir “Plex’ten Jellyfin’e geçiş” aracı yoktu. Her iki platform da kendi veritabanı yapılarını kullandığı için manuel adımlar atmam gerekti.

İlk adım olarak, Jellyfin’i kendi VPS’imde bir Docker container olarak kurdum. Bu benim için standart bir süreçti; Nginx reverse proxy’nin arkasına almak ve SSL sertifikası tanımlamak gibi adımlar hızlıca halloldu. Aşağıdaki docker-compose.yml örneği, Jellyfin’i basitçe nasıl ayağa kaldırdığımı gösteriyor:

version: '3.8'
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: 1000:1000 # Kendi kullanıcı ID'nizi ve Grup ID'nizi buraya yazın
    network_mode: host # Host network mode ile port mapping daha basit
    volumes:
      - /path/to/jellyfin/config:/config # Konfigürasyon dosyaları
      - /path/to/jellyfin/cache:/cache   # Önbellek dosyaları
      - /path/to/your/media:/media       # Medya dosyalarınızın olduğu klasör
      - /etc/localtime:/etc/localtime:ro # Zaman senkronizasyonu için
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000

Medya dosyalarımı Jellyfin’e tanıtmak kolaydı, ancak asıl sorun metadata ve izleme geçmişiydi. Bazı üçüncü parti araçlar ve Python betikleri bu konuda yardımcı olabiliyor ancak tam bir uyumluluk sağlamak zordu. Örneğin, Plex-to-Jellyfin.py gibi araçlar denedim, ancak Plex’in son API değişiklikleri veya benim özel kütüphane yapım nedeniyle tüm veriyi kusursuz aktaramadım. En nihayetinde, bazı kütüphaneler için izleme geçmişini sıfırdan oluşturmayı veya manuel olarak işaretlemeyi kabul ettim. Bu, özellikle 5+ yıllık bir üretim ERP’sinde çalıştığımda, veri göçü projelerindeki “her şey aktarılamaz” gerçeğini bir kez daha hatırlattı. Bazen, temiz bir başlangıç yapmak, eksik veriyle uğraşmaktan daha iyidir.

Performans ve Kaynak Tüketimi Karşılaştırması

Jellyfin’in kurulumunu tamamladıktan sonra, Plex ile en çok merak ettiğim karşılaştırma performanstı. Benim Plex sunucum, eski bir Intel i5 işlemcili, 16GB RAM’e sahip bir bare-metal sunucuda çalışıyordu. Aynı sunucu üzerinde Jellyfin’i Docker container içinde çalıştırdım. Yaptığım gözlemlere göre, Jellyfin’in kaynak tüketimi, özellikle idle durumdayken, Plex’e kıyasla daha düşüktü. Plex, arka planda bazı bulut servisleriyle iletişim kurmaya devam ettiği için, bazen beklenmedik CPU spike’ları yaşayabiliyordu. Jellyfin ise tamamen yerel çalıştığı için bu tür sürprizler yaşatmadı.

Transkoding performansı ise kullanılan donanıma ve ayarlara bağlıydı. Plex’in ücretli sürümünde donanımsal transkoding desteği daha olgun ve geniş bir GPU yelpazesine sahipti. Jellyfin de donanımsal transkoding (örneğin Intel Quick Sync Video veya NVIDIA NVENC) desteği sunuyor, ancak kurulumu biraz daha fazla manuel çaba gerektirebiliyor. Benim i5 işlemcimdeki Quick Sync desteği, hem Plex’te hem de Jellyfin’de 1080p içerikleri sorunsuz bir şekilde transkoding yapmama olanak tanıdı. Aynı anda 2 farklı cihaza 1080p transkoding yaparken, CPU kullanımı Plex’te %60-70 civarında seyrederken, Jellyfin’de bu oran %50-60 aralığında kaldı. Bu fark, genel sistem kaynakları açısından küçük ama yine de gözle görülür bir optimizasyon anlamına geliyordu.

Disk I/O açısından da Jellyfin daha tutarlı bir performans sergiledi. Özellikle medya kütüphanesi taraması sırasında Plex’in bazen daha agresif davrandığını gözlemlemiştim. Jellyfin, varsayılan ayarlarla daha nazik bir tarama yapıyor gibiydi, bu da benim için önemliydi çünkü medya dosyalarım bir NAS üzerinden NFS ile bağlanıyordu ve aşırı disk I/O, diğer servisleri etkileyebiliyordu. Kendi VPS’imde Redis OOM eviction policy seçimlerini yaparken veya PostgreSQL WAL bloat’ını izlerken edindiğim tecrübeler, her servisin disk ve bellek kullanımının dikkatle yönetilmesi gerektiğini bana öğretmişti.

Kullanıcı Deneyimi ve Arayüz Farkları

Plex, yıllar içinde oldukça rafine bir kullanıcı arayüzü ve deneyimi sunan bir platform haline geldi. Mobil uygulamaları, akıllı TV entegrasyonları ve genel estetiği oldukça başarılıydı. Jellyfin’e geçtiğimde, bu alandaki farklar en çok dikkatimi çeken noktalardan biri oldu. Jellyfin’in arayüzü, açık kaynaklı bir proje olmasına rağmen oldukça modern ve işlevsel. Ancak, Plex’in sunduğu bazı cilalı özellikler veya entegrasyonlar Jellyfin’de ya bulunmuyor ya da farklı bir yaklaşımla sunuluyordu.

Örneğin, Plex’in “Watch Together” gibi sosyal özellikleri veya daha geniş üçüncü parti eklenti (plugin) ekosistemi başlangıçta Jellyfin’de bulamadığım şeylerdi. Ancak Jellyfin’in kendi eklenti havuzu da hızla büyüyor. Özellikle Kodi, Emby Theater gibi istemcilerle entegrasyonu, benim için Plex’in sunduğundan daha fazla esneklik sağladı. Mobil tarafta ise Jellyfin’in resmi mobil uygulamaları Plex kadar “parlak” olmasa da, temel işlevleri sorunsuz bir şekilde yerine getiriyor. Android spam blocker uygulamamı geliştirirken edindiğim mobil UI/UX tecrübesiyle, Jellyfin’in mobil uygulamalarının daha fazla geliştirme potansiyeli taşıdığını düşünüyorum.

Arayüzdeki en büyük farklardan biri, Jellyfin’in tamamen yerel ve çevrimdışı çalışabilme yeteneğiydi. Plex, bazı metadata ve kullanıcı bilgilerini bulutta tuttuğu için, internet bağlantısı kesildiğinde veya Plex’in sunucularında bir sorun olduğunda bazı işlevler kısıtlanabiliyordu. Jellyfin’de ise her şey benim sunucumda olduğu için, internet bağlantım olsa da olmasa da kütüphaneme erişebiliyor ve içerikleri oynatabiliyordum (yerel ağ üzerinden). Bu, özellikle network segmenti tasarlarken veya bir şirketin iç platformunu geliştirirken event-sourcing ve idempotency gibi kavramların önemini anlatan bir deneyimdi; kendi verinin tek ve güvenilir kaynağı olmak.

Güvenlik ve Kontrol: Kendi Verimin Sahibi Olmak

Plex’ten Jellyfin’e geçişimin en önemli motivasyonlarından biri de güvenlik ve veri kontrolüydü. Plex, bazı kullanıcı verilerini ve izleme alışkanlıklarını kendi sunucularında tutuyordu. Bir üretim firmasının ERP’sini geliştirirken, veri mahremiyeti ve kontrolü her zaman en üst önceliklerden biridir. Kendi medya sunucumda da benzer bir yaklaşım sergilemek istiyordum. Jellyfin, bu konuda tam bir özgürlük sunuyor. Tüm verilerim, sunucumda, benim kontrolüm altında kalıyor.

Kendi sunucumda Jellyfin’i çalıştırırken, güvenlik konusunda ekstra adımlar attım. Nginx reverse proxy’nin arkasına almak, sadece belirli portlardan erişime izin vermek ve fail2ban kullanarak brute-force saldırılarını engellemek gibi standart pratikleri uyguladım. Özellikle kendi yan ürünümün backend’inde rate limiting ve JWT/OAuth2 pattern’lerini uygularken edindiğim tecrübeler, bu tür açık kaynaklı servisleri dışarıya açarken ne kadar dikkatli olunması gerektiğini bana göstermişti.

Aşağıda Jellyfin için kullandığım Nginx reverse proxy konfigürasyonundan bir parça görebilirsiniz:

server {
    listen 443 ssl http2;
    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://localhost:8096; # Jellyfin'in varsayılan portu
        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 Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_read_timeout 900s; # Uzun süreli bağlantılar için
    }
}

Bu yapılandırma, Jellyfin trafiğini şifrelemekle kalmıyor, aynı zamanda dış dünyaya sadece Nginx üzerinden güvenli bir şekilde erişmesini sağlıyor. Ayrıca, sunucumda auditd kullanarak dosya bütünlük monitoring’i yapıyorum ve SELinux profilleriyle Jellyfin container’ının erişimini kısıtladım. Bu, sıradan bir medya sunucusu için aşırı gelebilir, ancak güvenlik benim için her zaman bir önceliktir. Özellikle bir VPS’i açtıktan 7 dakika sonra SSH’a brute-force saldırıların başladığını gören biri olarak, bu tür önlemleri almayı ihmal etmem.

Trade-off’lar ve Gelecek Planları

Plex’ten Jellyfin’e geçişim, benim için birkaç önemli trade-off’u beraberinde getirdi. En büyük kazancım, kendi verimin tam kontrolünü ele geçirmek ve sürpriz fiyat artışlarından etkilenmemek oldu. Açık kaynak kodlu bir platform kullanmak, topluluk desteğine erişim ve potansiyel olarak kendi ihtiyaçlarıma göre özelleştirme yapabilme esnekliği de cabasıydı. Kaybettiğim şey ise, Plex’in sunduğu “kurulum ve unut” kolaylığı ile daha geniş cihaz desteği ve bazı estetik cilalar oldu. Ancak bu kayıplar, elde ettiğim avantajların yanında benim için önemsiz kaldı.

Plex’in “share with friends” özelliği gibi bazı sosyal yönleri Jellyfin’de aynı kolaylıkta bulunmuyor. Ancak bu tür özellikleri nadiren kullandığım için benim için büyük bir eksiklik olmadı. Önemli olan, temel işlevselliğin (medya oynatma, transkoding, kütüphane yönetimi) sorunsuz çalışmasıydı ki Jellyfin bu konuda beni hiç hayal kırıklığına uğratmadı. Hatta, Jellyfin’in özelleştirme yeteneği sayesinde, kendi AI destekli operasyon pipeline’larıma bazı entegrasyonlar bile düşünmeye başladım. Örneğin, yeni eklenen medya içeriğini otomatik olarak belirli etiketlerle işaretlemek veya izleme alışkanlıklarıma göre öneriler oluşturmak için kendi AI agent’larımı kullanmak gibi fikirlerim var.

Gelecek planlarım arasında, Jellyfin kurulumumu daha da optimize etmek yer alıyor. Özellikle DSCP/QoS ayarlarını uçtan uca yapılandırarak medya akışının önceliğini artırmayı düşünüyorum. Şirket çıkışında 3 farklı ISP olduğunda, DSCP marking’in doğru yapılmaması yüzünden ses paketlerinin patladığını görmüş biri olarak, kendi ev ağımda da bu optimizasyonu yapmak istiyorum. Ayrıca, Jellyfin’i ZTNA (Zero Trust Network Access) mimarime entegre ederek uzaktan erişim güvenliğini daha da sıkılaştırmayı hedefliyorum. Kendi ev ağımı segmentasyon prensiplerine göre tasarladığım için, medya sunucusunun diğer cihazlardan izole bir şekilde çalışması benim için önemli.

Sonuç

Plex Pass’in fiyat politikası, benim için yıllardır kullandığım bir hizmetten vazgeçme nedeni oldu. Bu durum, sadece maliyet değil, aynı zamanda veri kontrolü ve açık kaynak felsefesine olan inancımın bir sonucuydu. Jellyfin’e geçiş süreci bazı zorlukları beraberinde getirse de, elde ettiğim özerklik ve esneklik, bu çabaya değdi. Jellyfin, performans, güvenlik ve özelleştirme açısından beklentilerimi fazlasıyla karşıladı.

Bu deneyim, bir kez daha gösterdi ki, yazılım mimarisi çoğu zaman sadece teknik bir konu değil, aynı zamanda organizasyonel akışları ve kullanıcıların beklentilerini yönetme meselesidir. Kendi verinizin sahibi olmak, dijital dünyada giderek daha önemli hale gelen bir ayrıcalık. Eğer siz de benim gibi, medya kütüphanenizin tam kontrolünü elinizde tutmak ve sürpriz maliyetlerden kaçınmak istiyorsanız, Jellyfin kesinlikle göz önünde bulundurmanız gereken bir alternatif. Benim için 250 dolarlık bir fiyat etiketi, sadece bir medya sunucusundan çok daha fazlasını temsil eden bir deneyimin kapısını araladı.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

Plex Pass'in fiyat artışı nasıl bir etki yarattı ve Jellyfin'e geçiş süreciniz nasıldı?
Plex Pass'in fiyat artışı beni Jellyfin'e geçmek için düşünmeye sevk etti. Benim için önemli olan, kendi verimin kontrolünü sağlamak ve açık kaynaklı bir alternatif bulmaktı. Jellyfin'e geçiş sürecim oldukça sorunsuz geçti vePerformans, güvenlik ve kullanıcı deneyimi açısından beklentilerimi karşıladı.
Jellyfin ile Plex arasında kullanım deneyimi açısından nasıl bir fark var?
Jellyfin ve Plex arasında kullanım deneyimi açısından bazı farklılıklar var. Jellyfin, açık kaynaklı bir medya sunucusu olarak, bana daha fazla kontrol ve esneklik sağlıyor. Mobil cihazlardan veya uzaktan erişimde, Jellyfin'in arayüzü ve performansı da oldukça iyi.
Jellyfin'i kurmak ve kullanmak için hangi araçları veya kaynakları önerirsiniz?
Jellyfin'i kurmak ve kullanmak için, resmi Jellyfin belgeleri ve topluluk forumlarını öneririm. Ayrıca, medya kütüphanenizi organize etmek ve transkoding gibi özellikleri kullanmak için bazı ek araçlar ve eklentiler de bulunabilir.
Jellyfin'e geçiş yaparken karşılaştığınız en büyük zorluk veya hata nedir ve nasıl çözdünüz?
Jellyfin'e geçiş yaparken, en büyük zorluk olarak medya kütüphanemin yeniden organize edilmesini gördüm. Bu sorunu, Jellyfin'in kendi araçlarını ve topluluk kaynaklarını kullanarak çözdüm. Ayrıca, bazı hatalarla karşılaştım, ancak bunları Jellyfin topluluğuyla birlikte çalışarak ve belgeleri inceleyerek çözebildim.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Haftalık özet — AI değil, bizzat ben seçiyorum

Haftada bir mail: o haftanın en önemli yazısı, perde arkası notları, ve "bu hafta gerçekten kullandığım araç" bölümü. Az gürültü, çok sinyal.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar