Jellyfin nedir?

Jellyfin ücretsiz ve açık kaynaklı bir medya sunucusudur. Filmlerinizi, dizilerinizi, müziklerinizi ve fotoğraflarınızı tarayıcılara, telefonlara, TV'lere ve diğer cihazlara aktarır; ayrıca videoları anlık olarak yeniden kodlayabilir. Proje, jellyfin/jellyfin adlı ve ghcr.io/jellyfin/jellyfin olarak da yayımlanan resmî bir imaj sunar. LinuxServer.io projesi ise kendi klasörleri ve değişkenleriyle birlikte lscr.io/linuxserver/jellyfin adlı başka bir imaj sağlar.

Araç açıklaması

Bu araç, projenin kurulum kılavuzundan yararlanarak Jellyfin için bir compose.yaml oluşturur. İmajı ve etiketi, bağlantı noktalarını ve ağ yapılandırmasını, kullanıcıyı, yapılandırma ve cache klasörlerini ve salt okunur olarak bağlanabilen istediğiniz sayıda medya klasörünü seçersiniz. Resmî imajla özel yazı tiplerini ve yedek yazı tiplerini içeren klasörleri de bağlayabilirsiniz. Grafik kartı için araç, Jellyfin belgelerinde açıklanan yapılandırmayı ekler: Intel ve AMD için /dev/dri ile render grubu veya NVIDIA için NVIDIA runtime'ı ve GPU ayırması. LinuxServer.io imajını seçtiğinizde, user yerine PUID, PGID ve TZ kullandığı için dosyayı buna göre değiştirir. Her şey tarayıcınızda oluşturulur.

Özellikler

  • Docker Hub veya GitHub Container Registry'deki resmî imaj ya da LinuxServer.io imajı; herhangi bir etiketle
  • 8096 ve 7359/udp bağlantı noktalarını, isteğe bağlı 8920 HTTPS bağlantı noktasını ve bir bağlama adresini kullanan bridge modu veya DLNA'nın ihtiyaç duyduğu host modu
  • Sunucuyu keşfeden istemciler için yayımlanan sunucu URL'si
  • Resmî imaj için uid:gid biçiminde bir kullanıcı veya LinuxServer.io için PUID, PGID ve saat dilimi
  • Ana makinede ya da sizin için tanımlanan adlandırılmış Docker volume'larında yapılandırma ve cache
  • Her biri container içinde bir yola sahip olan ve salt okunur olarak bağlanma seçeneği sunan birden çok medya klasörü
  • Yeniden kodlama sırasında görüntüye gömülen altyazılar için özel yazı tipleri ve yedek yazı tipleri
  • Intel ve AMD için VA-API veya QSV ya da NVIDIA için NVENC ile donanım hızlandırma
  • Diğer tüm ortam değişkenleri, dosyayı açıklayan yorumlar ve compose.yaml olarak indirme

Örnekler

Varsayılan ayarlar, klasörler dosyanın yanında olacak şekilde Jellyfin belgelerindeki örneği oluşturur:

services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    ports:
      - "8096:8096"
      - "7359:7359/udp"
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /path/to/media:/media
    restart: unless-stopped

NVIDIA donanım hızlandırmasını seçmek runtime'ı ve GPU ayırmasını ekler:

runtime: nvidia
deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: all
          capabilities:
            - gpu

İpuçları

  • Sonucu compose.yaml olarak kaydedin ve docker compose up -d komutuyla başlatın. Ardından http://localhost:8096 adresini açın ve container içindeki yolları kullanarak medya klasörlerinizi kitaplık olarak ekleyin
  • Jellyfin'i bir container içinde çalıştırmak yalnızca Linux üzerinde desteklenir. Windows ve macOS'te Jellyfin'i yerel olarak kurun; çünkü donanım hızlandırmasının ve kitaplık taramalarının bu platformlardaki container'larda çalışmadığı bilinmektedir
  • Ana makinedeki render grubunun kimliğini getent group render | cut -d: -f3 komutuyla bulun. Bazı sistemlerde grubun adı video veya input olabilir
  • NVIDIA için önce ana makineye NVIDIA sürücüsünü ve NVIDIA Container Toolkit'i kurun
  • Container'da donanım hızlandırmayı etkinleştirdikten sonra Jellyfin kontrol panelinde Oynatma > Kod dönüştürme bölümünden bu özelliği açın
  • DLNA bir eklentidir ve keşif işlemi bridge üzerinden geçemeyen 1900/udp bağlantı noktasındaki yayınları kullandığı için host moduna ihtiyaç duyar
  • Resmî projenin ve LinuxServer.io'nun imajları verilerini farklı konumlarda saklar; bu nedenle mevcut bir klasörde birini diğeriyle değiştiremezsiniz
  • Jellyfin'in değiştirmesine gerek olmayan medya klasörlerini salt okunur olarak bağlayın