Hva er Jellyfin?

Jellyfin er en gratis medieserver med åpen kildekode. Den strømmer filmer, serier, musikk og bilder til nettlesere, telefoner, TV-er og andre enheter, og kan transkode video under avspilling. Prosjektet tilbyr et offisielt image, jellyfin/jellyfin, som også publiseres som ghcr.io/jellyfin/jellyfin. Prosjektet LinuxServer.io tilbyr et annet image, lscr.io/linuxserver/jellyfin, med egne mapper og variabler.

Beskrivelse av verktøyet

Dette verktøyet bygger en compose.yaml for Jellyfin basert på prosjektets installasjonsveiledning. Du velger image og tag, porter og nettverk, bruker, mapper for konfigurasjon og cache samt et valgfritt antall mediemapper, som kan monteres skrivebeskyttet. Med det offisielle imaget kan du også montere mapper med egendefinerte skrifttyper og reservefonter. For grafikkortet legger verktøyet til det Jellyfin-dokumentasjonen beskriver: /dev/dri og render-gruppen for Intel og AMD, eller NVIDIA-runtime og en GPU-reservasjon for NVIDIA. Det endrer filen når du velger LinuxServer.io-imaget, som bruker PUID, PGID og TZ i stedet for user. Alt opprettes i nettleseren din.

Funksjoner

  • Det offisielle imaget fra Docker Hub eller GitHub Container Registry, eller imaget fra LinuxServer.io, med valgfri tag
  • Bridge-modus med portene 8096 og 7359/udp, en valgfri HTTPS-port 8920 og en bind-adresse, eller host-modus, som DLNA trenger
  • Den publiserte server-URL-en for klienter som finner serveren automatisk
  • En bruker i formatet uid:gid for det offisielle imaget, eller PUID, PGID og tidssonen for LinuxServer.io
  • Konfigurasjon og cache på verten eller i navngitte Docker-volumer, som deklareres for deg
  • Flere mediemapper, hver med en sti i containeren og et alternativ for å montere den skrivebeskyttet
  • Egendefinerte skrifttyper og reservefonter for undertekster som brennes inn under transkoding
  • Maskinvareakselerasjon med VA-API eller QSV for Intel og AMD, eller NVENC for NVIDIA
  • Alle andre miljøvariabler, kommentarer som forklarer filen, og nedlasting som compose.yaml

Eksempler

Standardinnstillingene gir eksempelet fra Jellyfin-dokumentasjonen, med mappene ved siden av filen:

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

Hvis du velger NVIDIA-maskinvareakselerasjon, legges runtime og GPU-reservasjonen til:

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

Tips

  • Lagre resultatet som compose.yaml og start det med docker compose up -d. Åpne deretter http://localhost:8096 og legg til mediemappene som biblioteker ved å bruke stiene i containeren
  • Kjøring av Jellyfin i en container støttes bare på Linux. På Windows og macOS bør du installere Jellyfin lokalt, fordi maskinvareakselerasjon og biblioteksskanninger er kjent for å slutte å fungere i containere der
  • Finn ID-en til render-gruppen på verten med getent group render | cut -d: -f3. På enkelte systemer heter gruppen video eller input
  • For NVIDIA må du først installere NVIDIA-driveren og NVIDIA Container Toolkit på verten
  • Når du har aktivert maskinvareakselerasjon i containeren, slår du den på i Jellyfin-dashbordet under Avspilling, Transkoding
  • DLNA er et programtillegg og trenger host-modus, fordi oppdagelsen bruker kringkastinger på port 1900/udp som ikke går gjennom bridgen
  • Imagene fra det offisielle prosjektet og LinuxServer.io lagrer dataene sine på forskjellige steder, så du kan ikke bytte det ene med det andre i en eksisterende mappe
  • Monter mediemapper skrivebeskyttet når Jellyfin ikke trenger å endre dem