Jellyfin Docker Compose-builder
Bouw een compose.yaml voor Jellyfin. Kies de officiële image of de LinuxServer.io-image, poorten en netwerken, mediamappen en hardwareversnelling voor Intel, AMD of NVIDIA, en ontvang een bestand dat direct kan worden uitgevoerd.
Invoer
Uitvoer
- Jellyfin uitvoeren in een container wordt alleen ondersteund op Linux. Installeer Jellyfin op Windows en macOS rechtstreeks.
Readme
Wat is Jellyfin?
Jellyfin is een gratis mediaserver met open source. De server streamt je films, series, muziek en foto's naar browsers, telefoons, tv's en andere apparaten, en kan video on the fly transcoderen. Het project biedt een officiële image, jellyfin/jellyfin, die ook wordt gepubliceerd als ghcr.io/jellyfin/jellyfin. Het project LinuxServer.io biedt een andere image, lscr.io/linuxserver/jellyfin, met eigen mappen en variabelen.
Beschrijving van de tool
Deze tool maakt een compose.yaml voor Jellyfin op basis van de installatiehandleiding van het project. Je kiest de image en tag, poorten en netwerkconfiguratie, de gebruiker, de mappen voor configuratie en cache, en een willekeurig aantal mediamappen, die alleen-lezen kunnen worden aangekoppeld. Met de officiële image kun je ook mappen met aangepaste lettertypen en fallback-lettertypen koppelen. Voor de grafische kaart voegt de tool toe wat de Jellyfin-documentatie beschrijft: /dev/dri en de render-groep voor Intel en AMD, of de NVIDIA-runtime en een GPU-reservering voor NVIDIA. De tool wijzigt het bestand wanneer je de LinuxServer.io-image kiest, die PUID, PGID en TZ gebruikt in plaats van een user. Alles wordt in je browser aangemaakt.
Functies
- De officiële image van Docker Hub of de GitHub Container Registry, of de image van LinuxServer.io, met elke gewenste tag
- Bridge-modus met de poorten 8096 en 7359/udp, een optionele HTTPS-poort 8920 en een bindadres, of hostmodus, die DLNA nodig heeft
- De gepubliceerde server-URL voor clients die de server automatisch ontdekken
- Een gebruiker in de vorm
uid:gidvoor de officiële image, ofPUID,PGIDen de tijdzone voor LinuxServer.io - Configuratie en cache op de host of in benoemde Docker-volumes, die automatisch voor je worden gedeclareerd
- Meerdere mediamappen, elk met een pad in de container en een optie om de map alleen-lezen aan te koppelen
- Aangepaste lettertypen en fallback-lettertypen voor ondertitels die tijdens het transcoderen in de video worden ingebrand
- Hardwareversnelling met VA-API of QSV voor Intel en AMD, of NVENC voor NVIDIA
- Elke andere omgevingsvariabele, opmerkingen die het bestand uitleggen en een download als
compose.yaml
Voorbeelden
De standaardinstellingen geven het voorbeeld uit de Jellyfin-documentatie, met de mappen naast het bestand:
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-stoppedAls je NVIDIA-hardwareversnelling kiest, worden de runtime en de GPU-reservering toegevoegd:
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpuTips
- Sla het resultaat op als
compose.yamlen start het metdocker compose up -d. Open vervolgenshttp://localhost:8096en voeg je mediamappen toe als bibliotheken, waarbij je de paden in de container gebruikt - Jellyfin uitvoeren in een container wordt alleen ondersteund op Linux. Installeer Jellyfin op Windows en macOS rechtstreeks, omdat hardwareversnelling en bibliotheeks scans daar in containers niet goed werken
- Zoek de ID van de render-groep op de host met
getent group render | cut -d: -f3. Op sommige systemen heet de groepvideoofinput - Installeer voor NVIDIA eerst het NVIDIA-stuurprogramma en de NVIDIA Container Toolkit op de host
- Schakel hardwareversnelling na het inschakelen in de container ook in het Jellyfin-dashboard in onder Afspelen, Transcoderen
- DLNA is een plugin en heeft hostmodus nodig, omdat het zoeken via broadcasts op poort 1900/udp verloopt en deze niet door de bridge gaan
- De images van het officiële project en van LinuxServer.io slaan hun gegevens op verschillende plaatsen op, dus je kunt de ene niet vervangen door de andere in een bestaande map
- Koppel media alleen-lezen aan wanneer Jellyfin deze niet hoeft te wijzigen