- 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.
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.
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?

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.
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?

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..
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..
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

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.
Ik ben een technologieliefhebber die van zijn 'nerd'-interesses zijn beroep heeft gemaakt. Ik heb meer dan 10 jaar van mijn leven doorgebracht met het gebruik van de allernieuwste technologie en het sleutelen aan allerlei programma's uit pure nieuwsgierigheid. Nu heb ik mij gespecialiseerd in computertechnologie en videogames. Dit komt omdat ik al meer dan vijf jaar voor verschillende websites over technologie en videogames schrijf en artikelen heb gemaakt die proberen u de informatie te geven die u nodig heeft in een taal die voor iedereen begrijpelijk is.
Als je vragen hebt, mijn kennis strekt zich uit van alles wat te maken heeft met het Windows-besturingssysteem tot Android voor mobiele telefoons. En mijn toewijding is aan jou, ik ben altijd bereid om een paar minuten te besteden en je te helpen bij het oplossen van eventuele vragen die je hebt in deze internetwereld.