Stapsgewijze handleiding voor het installeren van Jellyfin met Docker

Laatste update: 01/09/2026

  • De officiële image van Jellyfin vereenvoudigt de installatie en houdt de afhankelijkheden geïsoleerd.
  • Persistente volumes behouden de configuratie, cache en metadata wanneer de container opnieuw wordt aangemaakt.
  • Multimedia-mappen kunnen als alleen-lezen worden gekoppeld om onbedoelde wijzigingen te voorkomen.
  • De UID, GID en machtigingen bepalen of Jellyfin bestanden kan lezen.
Stapsgewijze handleiding voor het installeren van Jellyfin met Docker

Installeer Jellyfin met Docker Hiermee kunt u een compatibele computer, thuisserver of NAS omtoveren tot een privéplatform voor het afspelen van films, tv-programma's, muziek en foto's. De bestanden blijven onder uw controle en u kunt ze openen vanaf tv's, mobiele telefoons, webbrowsers en andere compatibele apparaten.

Docker bewaart Jellyfin en de bijbehorende afhankelijkheden binnen een container, wat de installatie, het onderhoud en de updates vereenvoudigt. De configuratie, caching en metadata moeten echter in een aparte container worden opgeslagen. persistente volumes zodat ze niet verdwijnen wanneer de container opnieuw wordt aangemaakt.

Deze handleiding maakt gebruik van Ubuntu Server met Docker Compose en de officiële Jellyfin-image. De procedure kan ook worden aangepast aan andere Linux-distributies, hoewel de installatiecommando's en het beheer van machtigingen kunnen variëren.

een mini-thuisserver opzetten
Gerelateerd artikel:
Hoe bouw je een mini-server voor thuis met goedkope hardware?

Wat je nodig hebt om Jellyfin met Docker te installeren

Wat je nodig hebt om Jellyfin met Docker te installeren

Voordat je begint, heb je de volgende onderdelen nodig:

  • Een server of computer met een compatibele Linux-distributie.
  • Docker Engine en de Docker Compose-plugin.
  • Een statisch IP-adres of een DHCP-reservering voor de server.
  • Voldoende ruimte voor configuratie, caching en tijdelijke transcodering.
  • Leesrechten voor de mappen waarin de multimediabestanden zijn opgeslagen.
  • Een stabiele netwerkverbinding, bij voorkeur via Ethernet.

Installatie in containers is officieel gericht op Linux. Hoewel Docker Desktop het mogelijk maakt om containers op Windows en macOS uit te voeren, waarschuwt Jellyfin dat sommige functies, met name de hardware-versnelde transcoderingZe werken mogelijk niet naar behoren op die systemen.

Welke hardware heeft een Jellyfin-server nodig?

De vereisten hangen minder af van de grootte van de bibliotheek dan van het afspeeltype. Wanneer het clientapparaat het bestandsformaat, de codec, de audio, de ondertitels en de bitrate ondersteunt, kan Jellyfin deze gebruiken. directe weergaveIn dat geval verwerkt de server de video nauwelijks en kan hij op bescheiden apparatuur draaien.

De werkdruk neemt toe wanneer Jellyfin content in realtime moet converteren. Dit kan gebeuren door een incompatibele codec, in te sluiten ondertitels, een te hoge bitrate of de noodzaak om HDR naar SDR te converteren. Daarom is er geen standaard aantal cores of voldoende geheugen dat voor alle gebruikers geschikt is.

Voor meerdere gelijktijdige transcoderingprocessen wordt aangeraden een geïntegreerde Intel GPU met Quick Sync-ondersteuning, een NVIDIA GPU met NVENC-ondersteuning of bepaalde AMD-modellen te gebruiken. Houd ook rekening met de uploadbandbreedte als u meerdere bestanden tegelijk wilt transcoderen. Toegang tot Jellyfin buitenshuis.

Als je nog steeds je hardware en opslag aan het kiezen bent, overweeg dan of je een aparte computer, een mini-pc of een ander apparaat nodig hebt. Thuis-NAS.

Hoe installeer je Docker Engine op een Ubuntu-server?

Hoe installeer je Docker Engine op een Ubuntu-server?

Werk eerst de systeempakketten bij:

sudo apt update
sudo apt upgrade -y

Installeer de benodigde tools en voeg de officiële Docker-sleutel toe:

sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Configureer vervolgens de officiële repository:

sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Installeer Docker Engine en de Compose-plugin:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin

Controleer of beide componenten beschikbaar zijn:

sudo docker run --rm hello-world
sudo docker compose version

Je kunt je gebruiker desgewenst aan de groep toevoegen. docker om de commando's uit te voeren zonder sudo:

sudo usermod -aG docker "$USER"

Log uit en log weer in om de wijziging toe te passen. Houd er rekening mee dat Lid zijn van de docker-groep verleent privileges die gelijkwaardig zijn aan die van een beheerder. Over het systeem. Voeg geen gebruikers toe die u niet vertrouwt.

Exclusieve inhoud - Klik hier  Wat is de nieuwste versie van Dreamweaver?

Hoe permanente mappen voor te bereiden

Maak een aparte map aan voor het compositiebestand, de configuratie en de cache:

sudo mkdir -p /opt/jellyfin/config
sudo mkdir -p /opt/jellyfin/cache
sudo chown -R "$(id -u)":"$(id -g)" /opt/jellyfin
cd /opt/jellyfin

De mediabestanden kunnen op een andere schijf staan. Dit zou een eenvoudige structuur zijn:

/srv/media/
├── peliculas/
├── series/
└── musica/

Het gebruik van deze routes is niet verplicht. Het belangrijkste is om onderscheid te maken tussen de bestaand pad op de hostserver en het pad dat Jellyfin later in de container zal zien.

Verkrijg de UID en GID van de gebruiker die Jellyfin gaat uitvoeren:

id -u
id -g

Maak een bestand aan met de naam .env binnenin /opt/jellyfin en slaat de verkregen waarden op:

JELLYFIN_UID=1000
JELLYFIN_GID=1000

Vervangt 1000 Gebaseerd op de werkelijke waarden van uw systeem. Deze gebruiker moet alle multimediadirectory's kunnen lezen en erin kunnen schrijven. config y cache.

Hoe configureer je het Jellyfin Docker Compose-bestand?

Hoe configureer je het Jellyfin Docker Compose-bestand?

Maak het bestand /opt/jellyfin/docker-compose.yml met deze configuratie:

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    user: "${JELLYFIN_UID}:${JELLYFIN_GID}"
    ports:
      - "8096:8096/tcp"
      - "7359:7359/udp"
    volumes:
      - type: bind
        source: ./config
        target: /config
      - type: bind
        source: ./cache
        target: /cache
      - type: bind
        source: /srv/media/peliculas
        target: /media/peliculas
        read_only: true
      - type: bind
        source: /srv/media/series
        target: /media/series
        read_only: true
      - type: bind
        source: /srv/media/musica
        target: /media/musica
        read_only: true
    restart: unless-stopped

De haven 8096/TCP Het biedt toegang tot de webinterface. De poort 7359/UDP Het wordt gebruikt voor automatische detectie binnen het lokale netwerk en kan worden verwijderd als u deze functie niet nodig hebt.

De multimediabestanden worden als volgt gekoppeld: alleen-lezenDit verkleint het risico op onbedoelde wijzigingen, maar voorkomt ook dat Jellyfin NFO-bestanden, afbeeldingen of andere gegevens samen met de media schrijft. Als u deze functies wilt gebruiken, moet u deze optie verwijderen. read_only: true Alleen in de benodigde mappen.

Controleer de syntaxis voordat u de service start:

docker compose config

Als de opdracht geen fouten weergeeft, download dan de image en start de container:

docker compose pull
docker compose up -d

Controleer de status en bekijk de gegevens:

docker compose ps
docker compose logs -f jellyfin

Pers Ctrl+C Om de logboekweergave te verlaten zonder de container te stoppen.

Hoe voltooi ik de eerste installatie?

Open een browser op een willekeurige computer in het netwerk en voer het volgende in:

http://IP_DEL_SERVIDOR:8096

Met de installatiewizard kunt u de taal selecteren, een beheerdersaccount aanmaken en bibliotheken toevoegen. Gebruik een sterk wachtwoord en reserveer dit account voor beheertaken.

Wanneer u de mediamappen toevoegt, moet u de volgende selecteren: interne containerroutes:

  • /media/peliculas
  • /media/series
  • /media/musica

Niet binnenkomen /srv/media/peliculasomdat dat pad alleen op het hostsysteem bestaat. Binnen de container is het toegewezen aan... /media/peliculas.

Selecteer een specifiek bibliotheektype voor elk type inhoud. Vermijd het combineren van films, tv-series en muziek in dezelfde bibliotheek. Raadpleeg de instructies voor het configureren van namen, metadataproviders en mapstructuren. Voeg films en tv-series toe aan en organiseer ze in Jellyfin..

Exclusieve inhoud - Klik hier  Hoe voorkom je dat Spotify je chatactiviteit deelt?

Hoe schakel je Intel Quick Sync-acceleratie in?

Hoe schakel je Intel Quick Sync-acceleratie in?

Controleer op compatibele Intel-systemen eerst of het renderingapparaat aanwezig is:

ls -l /dev/dri/

Het zal er meestal uitzien als /dev/dri/renderD128Haal de groepsidentificatie op. render:

getent group render | cut -d: -f3

Voeg het resultaat toe aan het bestand. .env:

JELLYFIN_RENDER_GID=122

De waarde 122 Dit is slechts een voorbeeld. Voeg vervolgens deze regels toe aan de service. jellyfin uit het Compose-bestand:

    group_add:
      - "${JELLYFIN_RENDER_GID}"
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128

Maak de container opnieuw aan en controleer of Jellyfin de GPU kan detecteren:

docker compose up -d
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo

Binnenkomen Configuratiescherm > Afspelen > TranscoderenSelecteer Intel Quick Sync of VA-API en schakel alleen de codecs in die compatibel zijn met uw hardware.

Het simpelweg toevoegen van het apparaat aan de container activeert de hardwareversnelling niet automatisch. Het is raadzaam om een ​​bestand af te spelen dat transcodering vereist en de FFmpeg-logboeken te controleren om te verifiëren of de GPU werkt.

Hoe gebruik je een NVIDIA GPU?

De officiële Jellyfin-image bevat niet het propriëtaire NVIDIA-stuurprogramma. U moet zowel het stuurprogramma als het stuurprogramma op de hostcomputer installeren. NVIDIA Container Toolkit.

Voeg dit vervolgens toe aan de Jellyfin-service:

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

Maak de container opnieuw aan en controleer of de kaart zichtbaar is:

docker compose up -d
docker exec -it jellyfin nvidia-smi

Selecteer ten slotte NVENC in de transcoderinginstellingen. Combineer deze instelling niet met die van Intel, tenzij u precies weet welk apparaat u wilt gebruiken.

Hoe configureer je een bibliotheek die is opgeslagen op een NAS?

Als de bestanden zich op een NAS of Samba-resource bevinden, is de meest stabiele aanpak om eerst de netwerkresource in Ubuntu te mounten en vervolgens dat pad via een bind mount aan de container door te geven.

Installeer de CIFS-beugel en creëer het bevestigingspunt:

sudo apt install -y cifs-utils
sudo mkdir -p /mnt/media

Bewaar de NAS-inloggegevens in een bestand dat alleen toegankelijk is voor de beheerder en gebruik ze. /etc/fstab Om de mount na een herstart te behouden, voegt u het pad toe aan het Compose-bestand:

      - type: bind
        source: /mnt/media
        target: /media/nas
        read_only: true

Als Jellyfin de map wel ziet, maar deze leeg lijkt, controleer dan de resource-rechten, de UID en GID die bij het mounten worden gebruikt, en de uitvoerrechten van alle bovenliggende mappen. Meer informatie over deze configuratie vindt u in de handleiding. opslag op een NAS thuis.

Hoe krijg je toegang tot Jellyfin vanaf buiten je huis?

Publiceer poort 8096 niet rechtstreeks op internet.De documentatie van Jellyfin raadt aan om een ​​VPN te gebruiken of een reverse proxy met HTTPS voor de server te plaatsen.

Met een VPN zoals Tailscale krijg je toegang tot het privénetwerk zonder Jellyfin direct bloot te stellen. Je kunt ook Caddy, Nginx of Traefik als reverse proxy gebruiken.

Caddy kan automatisch TLS-certificaten verkrijgen en vernieuwen, maar dit vereist doorgaans dat het domein naar uw openbare IP-adres verwijst en dat poorten 80 en 443 de server kunnen bereiken. Daarom, Een reverse proxy betekent niet per se toegang zonder poorten te openen..

Als je conventionele publieke blootstelling wilt vermijden, kijk dan hoe... Gebruik Jellyfin van buiten uw huis zonder poorten te hoeven openen..

Exclusieve inhoud - Klik hier  Hoe gebruik en activeer je Live Updates op Android?

Om gebruikers te centraliseren via single sign-on kunt u ook Maak verbinding met Authentic via JellyfinEerst moet je Installeer Authentik met Docker en configureer de groepen en machtigingen zorgvuldig.

Hoe je Jellyfin kunt bijwerken met Docker

Maak een back-up voordat u de update uitvoert. Configuratiescherm > Back-upsMet de huidige versies van Jellyfin kun je een kopie maken terwijl de server nog draait, hoewel het het beste is om dit te doen wanneer er geen gebruikers content afspelen of een actieve scan plaatsvindt.

Werk vervolgens de afbeelding bij en maak de container opnieuw aan:

cd /opt/jellyfin
docker compose pull
docker compose up -d

Controleer de logbestanden na de update:

docker compose logs --tail=100 jellyfin

Permanente gegevens blijven in de mappen bewaard. config y cacheSommige versies passen echter migraties toe op de database en Jellyfin heeft geen afbraakmechanisme.Als u wilt terugkeren naar een eerdere versie, moet u een compatibele back-up terugzetten.

Veelgemaakte fouten bij het installeren van Jellyfin met Docker

Veelgemaakte fouten bij het installeren van Jellyfin met Docker

De container blijft steeds opnieuw opstarten.

Uitvoeren docker compose logs jellyfin en controleer de mapmachtigingen config y cacheDe UID en GID gedefinieerd in .env Ze moeten schriftelijke toestemming hebben.

De bibliotheek lijkt leeg.

Controleer of het hostpad bestaat, of het volume correct is aangekoppeld en of de containergebruiker alle mappen kan bekijken en lezen. Binnen Jellyfin moet u het interne pad selecteren, bijvoorbeeld: /media/peliculas.

Toegang geweigerd bij het scannen van bestanden.

Los het probleem niet op door machtigingen toe te passen. 777Controleer de eigenaar, groep en lees- en uitvoerrechten. Als u een NAS gebruikt, controleer dan ook de instellingen die zijn gebruikt om de bron te koppelen.

Poort 8096 kan niet worden geopend.

Een ander proces gebruikt mogelijk de poort. Controleer dit met:

sudo ss -ltnp | grep 8096

Als de verbinding bezet is, stop dan de betreffende service of wijzig bijvoorbeeld de linkerpoort in de mapping. 8097:8096.

De GPU verschijnt wel in de host, maar niet in Jellyfin.

Controleer het apparaat bij Intel. /dev/dri/renderD128 en de groepsidentificatie renderControleer bij NVIDIA het stuurprogramma, de NVIDIA Container Toolkit en de uitvoer van docker exec -it jellyfin nvidia-smi.

De video gebruikt nog steeds de CPU.

Dat de GPU zichtbaar is, betekent niet dat alle formaten versneld worden. Controleer de ondersteunde codecs, transcoderinginstellingen en FFmpeg-registers. Sommige ondertitels en filters gebruiken mogelijk nog steeds de CPU.

Jellyfin werkt, maar verschijnt niet automatisch op apparaten.

Controleer of de poort 7359/UDP Het moet gepubliceerd en toegestaan ​​zijn op het lokale netwerk. Als je DLNA nodig hebt, geeft de officiële documentatie aan dat je mogelijk de netwerkmodus moet gebruiken. host.

Installeer Jellyfin met Docker Compose Het stelt je in staat om de mediaserver geïsoleerd te houden en vereenvoudigt het beheer ervan, maar de uiteindelijke betrouwbaarheid hangt af van de gebruikte volumes, machtigingen en paden. Zodra de container operationeel is, kun je je bibliotheken toevoegen, gebruikers aanmaken en de juiste transcodering voor je hardware inschakelen.

Voordat u de service buiten uw thuisnetwerk beschikbaar stelt, configureert u HTTPS of een VPN en maakt u back-ups van de configuratiemap. Op deze manier kunt u de server bijwerken zonder gebruikers, metadata of afspeelgeschiedenis te verliezen.

Hoe stel je kinderprofielen in Jellyfin in?
Gerelateerd artikel:
Hoe stel je kinderprofielen in Jellyfin in?