Kreator Docker Compose dla Jellyfin
Utwórz plik compose.yaml dla Jellyfin. Wybierz oficjalny obraz lub obraz LinuxServer.io, porty i konfigurację sieci, foldery multimediów oraz sprzętową akcelerację Intel, AMD lub NVIDIA, a otrzymasz plik gotowy do uruchomienia.
Wejście
Wyjście
- Uruchamianie Jellyfin w kontenerze jest obsługiwane tylko w systemie Linux. W systemach Windows i macOS zainstaluj Jellyfin natywnie.
Instrukcja
Czym jest Jellyfin?
Jellyfin to bezpłatny serwer multimediów o otwartym kodzie źródłowym. Przesyła strumieniowo filmy, programy, muzykę i zdjęcia do przeglądarek, telefonów, telewizorów oraz innych urządzeń, a także może transkodować wideo w locie. Projekt udostępnia oficjalny obraz jellyfin/jellyfin, który jest również publikowany jako ghcr.io/jellyfin/jellyfin. Projekt LinuxServer.io oferuje inny obraz, lscr.io/linuxserver/jellyfin, z własnymi folderami i zmiennymi.
Opis narzędzia
To narzędzie tworzy plik compose.yaml dla Jellyfin na podstawie instrukcji instalacji projektu. Możesz wybrać obraz i tag, porty oraz sieć, użytkownika, foldery konfiguracji i cache, a także dowolną liczbę folderów multimediów, które mogą być montowane tylko do odczytu. W przypadku oficjalnego obrazu możesz również zamontować foldery z niestandardowymi fontami i fontami zastępczymi. Dla karty graficznej narzędzie dodaje elementy opisane w dokumentacji Jellyfin: /dev/dri oraz grupę renderowania dla Intel i AMD albo runtime NVIDIA i rezerwację GPU dla NVIDIA. Narzędzie zmienia plik po wybraniu obrazu LinuxServer.io, który zamiast user korzysta ze zmiennych PUID, PGID i TZ. Wszystko jest tworzone w przeglądarce.
Funkcje
- Oficjalny obraz z Docker Hub lub GitHub Container Registry albo obraz z LinuxServer.io, z dowolnym tagiem
- Tryb bridge z portami 8096 i 7359/udp, opcjonalnym portem HTTPS 8920 oraz adresem nasłuchiwania albo tryb hosta, którego wymaga DLNA
- Opublikowany URL serwera dla klientów, które wykrywają serwer
- Użytkownik w formacie
uid:giddla oficjalnego obrazu alboPUID,PGIDi strefa czasowa dla LinuxServer.io - Konfiguracja i cache na hoście lub w nazwanych woluminach Docker, które są deklarowane automatycznie
- Kilka folderów multimediów, każdy ze ścieżką w kontenerze i opcją zamontowania go tylko do odczytu
- Niestandardowe fonty i fonty zastępcze dla napisów osadzanych w obrazie podczas transkodowania
- Akceleracja sprzętowa z VA-API lub QSV dla Intel i AMD albo NVENC dla NVIDIA
- Dowolna inna zmienna środowiskowa, komentarze objaśniające plik oraz możliwość pobrania pliku jako
compose.yaml
Przykłady
Ustawienia domyślne tworzą przykład z dokumentacji Jellyfin, z folderami znajdującymi się obok pliku:
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-stoppedWybranie akceleracji sprzętowej NVIDIA dodaje runtime i rezerwację GPU:
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpuWskazówki
- Zapisz wynik jako
compose.yamli uruchom go poleceniemdocker compose up -d. Następnie otwórzhttp://localhost:8096i dodaj foldery multimediów jako biblioteki, używając ścieżek w kontenerze - Uruchamianie Jellyfin w kontenerze jest obsługiwane tylko w systemie Linux. W systemach Windows i macOS zainstaluj Jellyfin natywnie, ponieważ wiadomo, że akceleracja sprzętowa i skanowanie bibliotek nie działają poprawnie w kontenerach na tych systemach
- Sprawdź identyfikator grupy renderowania na hoście za pomocą polecenia
getent group render | cut -d: -f3. W niektórych systemach grupa nosi nazwęvideolubinput - W przypadku NVIDIA najpierw zainstaluj na hoście sterownik NVIDIA oraz NVIDIA Container Toolkit
- Po włączeniu akceleracji sprzętowej w kontenerze włącz ją również w panelu Jellyfin, w sekcji Odtwarzanie, Transkodowanie
- DLNA jest wtyczką i wymaga trybu hosta, ponieważ wykrywanie korzysta z rozgłoszeń na porcie 1900/udp, które nie przechodzą przez bridge
- Obrazy oficjalnego projektu i LinuxServer.io przechowują dane w różnych miejscach, dlatego nie możesz zamienić jednego obrazu na drugi w istniejącym folderze
- Zamontuj multimedia tylko do odczytu, jeśli Jellyfin nie musi ich modyfikować