Vad är Jellyfin?

Jellyfin är en kostnadsfri medieserver med öppen källkod. Den strömmar dina filmer, serier, musik och foton till webbläsare, telefoner, TV-apparater och andra enheter, och kan omkoda video direkt. Projektet tillhandahåller en officiell image, jellyfin/jellyfin, som även publiceras som ghcr.io/jellyfin/jellyfin. Projektet LinuxServer.io erbjuder en annan image, lscr.io/linuxserver/jellyfin, med egna mappar och variabler.

Verktygsbeskrivning

Det här verktyget skapar en compose.yaml för Jellyfin utifrån projektets installationsguide. Du väljer image och tagg, portar och nätverk, användare, mappar för konfiguration och cache samt valfritt antal mediemappar, som kan monteras skrivskyddade. Med den officiella imagen kan du även montera mappar med anpassade teckensnitt och reservteckensnitt. För grafikkortet lägger verktyget till det som Jellyfins dokumentation beskriver: /dev/dri och render-gruppen för Intel och AMD, eller NVIDIA-runtime och en GPU-reservation för NVIDIA. Det ändrar filen när du väljer LinuxServer.io-imagen, som använder PUID, PGID och TZ i stället för user. Allt skapas i webbläsaren.

Funktioner

  • Den officiella imagen från Docker Hub eller GitHub Container Registry, eller imagen från LinuxServer.io, med valfri tagg
  • Bryggläge med portarna 8096 och 7359/udp, en valfri HTTPS-port 8920 och en bindningsadress, eller värdläge, vilket DLNA kräver
  • Den publicerade server-URL:en för klienter som upptäcker servern
  • En användare i formatet uid:gid för den officiella imagen, eller PUID, PGID och tidszonen för LinuxServer.io
  • Konfiguration och cache på värddatorn eller i namngivna Docker-volymer, som deklareras åt dig
  • Flera mediemappar, var och en med en sökväg i containern och ett alternativ för att montera den skrivskyddad
  • Anpassade teckensnitt och reservteckensnitt för undertexter som bränns in under omkodning
  • Hårdvaruacceleration med VA-API eller QSV för Intel och AMD, eller NVENC för NVIDIA
  • Alla andra miljövariabler, kommentarer som förklarar filen samt nedladdning som compose.yaml

Exempel

Standardinställningarna ger exemplet från Jellyfins dokumentation, med mapparna bredvid 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

Om du väljer NVIDIA-hårdvaruacceleration läggs runtime och GPU-reservationen till:

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

Tips

  • Spara resultatet som compose.yaml och starta det med docker compose up -d. Öppna sedan http://localhost:8096 och lägg till dina mediemappar som bibliotek med hjälp av sökvägarna i containern
  • Att köra Jellyfin i en container stöds endast på Linux. Installera Jellyfin direkt i Windows och macOS, eftersom hårdvaruacceleration och biblioteksskanningar är kända för att sluta fungera i containrar där
  • Ta reda på ID:t för render-gruppen på värddatorn med getent group render | cut -d: -f3. På vissa system heter gruppen video eller input
  • För NVIDIA installerar du först NVIDIA-drivrutinen och NVIDIA Container Toolkit på värddatorn
  • När du har aktiverat hårdvaruacceleration i containern aktiverar du den även i Jellyfins kontrollpanel under Uppspelning, Omskodning
  • DLNA är ett plugin och kräver värdläge, eftersom dess upptäckt använder broadcast-meddelanden på port 1900/udp som inte passerar bryggan
  • Den officiella projektets och LinuxServer.ios images lagrar sina data på olika platser, så du kan inte byta ut den ena mot den andra i en befintlig mapp
  • Montera medier skrivskyddade när Jellyfin inte behöver ändra dem