Doorgaan naar hoofdinhoud

TrueNAS SCALE

Onofficiële Beta-vertaling

Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →

Jellyfin kan worden geïnstalleerd op TrueNAS SCALE van iX-systems.

Dit document is geschreven voor TrueNAS SCALE v24.10.0 (Electric Eel) of hoger.

Bekijk de TrueNAS Apps-documentatie als je nog geen applicaties op je systeem hebt geconfigureerd.

  • Let op: TrueNAS CORE en TrueNAS SCALE zijn verschillend. Jellyfin wordt niet ondersteund op TrueNAS CORE.

Inleiding en voorbereiding

TrueNAS SCALE maakt het mogelijk om apps te draaien met Docker.

Er zijn twee ondersteunde methoden om Jellyfin op je TrueNAS SCALE-server te installeren:

  1. Aangepaste app

  2. Community-app van derden, aangeboden door ix-systems

Beide methoden gebruiken het officiële Docker-image van Jellyfin. Dit document behandelt beide installatiemethoden.

Je kunt omgevingsvariabelen op elk moment configureren nadat je de applicatie hebt geïmplementeerd.

Het wordt aanbevolen om het TrueNAS SCALE App-systeem in te stellen op een opslagpool die bestaat uit SSD's.


Datasets & Jellyfin

Het officiële Jellyfin Docker-image maakt intern de volgende benodigde mappen aan:

  1. cache

  2. config

  3. cache/transcodes

Als je de community-app gebruikt, kun je SCALE automatisch datasets laten aanmaken voor de mappen die Jellyfin nodig heeft tijdens de app-installatie. Je kunt er ook voor kiezen om een statische transcodes-dataset aan te maken of tijdelijke opslag op schijf of in het geheugen (systeem-RAM) te gebruiken voor transcodering.

  • Houd er rekening mee dat RAM gebruiken voor transcoderingen een slecht idee kan zijn omdat transcoderingen veel ruimte kunnen innemen. Als er niet genoeg geheugen beschikbaar is in het RAM voor een transcode, zal deze mislukken. Het wordt aanbevolen om de transcode-directory op een schijf met voldoende vrije ruimte te plaatsen om dit probleem te voorkomen. Overweeg een SSD te gebruiken in plaats van een HDD om mogelijke vertragingen te voorkomen.

Je kunt ook eigen aangepaste datasets aanmaken om te gebruiken in de sectie Storage Configuration als host paths tijdens de installatie.

Je kunt datasets organiseren als één hoofdmap met twee subdatasets, bijvoorbeeld /mnt/tank/jellyfin/config, /mnt/tank/jellyfin/cache, enzovoort. Met Docker kun je deze op elke gewenste manier organiseren, zolang je ze maar onder de juiste naam koppelt aan de Docker-container.

Het wordt aanbevolen om de config-directory van Jellyfin in te stellen op een toegankelijke dataset. Dit maakt het eenvoudig om je server te back-uppen/herstellen.

Het wordt ook aanbevolen om datasets op een SSD-opslagpool te gebruiken voor de configuratie- en cachegegevens van Jellyfin.


Gebruikers & Machtigingen

Je kunt de gebruiker en groep die je container uitvoert instellen tijdens het opzetten van Jellyfin. Als je de applicatie wilt draaien met een andere gebruiker of groep dan de standaard apps (568) gebruiker en groep, maak deze dan nu aan.

Zorg ervoor dat je datasets de juiste machtigingen hebben zodat de Jellyfin-containergebruiker toegang heeft tot je datasets.


Installeren als aangepaste app

YAML gebruiken

Ga naar het Apps-gedeelte van SCALE.

Knop voor aangepaste app

Klik bovenaan rechts op de pagina op de knop Discover Apps. Dit brengt je naar de community app store.

YAML-knop

Klik daar op het drie-stippenmenu rechtsboven en vervolgens op Install via YAML.

  • Let op: je kunt ook een custom app installeren via SCALE's begeleide app-launcher GUI. Volg hiervoor de stappen bij installeren met de community app aangezien de opzet grotendeels hetzelfde is.
    • Als je deze route kiest, is je Jellyfin-container achteraf alleen bewerkbaar via deze GUI. Wil je toegang tot de Compose YAML-editor, dan moet je de container starten via de YAML-optie.
    • Je moet Jellyfin's image op je SCALE-server pullen, afhankelijk van je instellingen in de begeleide GUI.

Er opent een tabblad aan de rechterkant van de pagina waar je je custom app kunt starten met een Docker Compose-bestand.

Compose YAML-bestand

Custom App-installatiepagina

Geef hier je custom app een naam en schrijf/plak de regels voor je compose-bestand.

Raadpleeg de documentatie over Docker Compose met Jellyfin. Hier is een basis compose-bestand - pas de volumes aan voor jouw systeem en kopieer/plak het in de editor om Jellyfin te starten:

services:
jellyfin:
container_name: jellyfin
image: ghcr.io/jellyfin/jellyfin:latest
user: '568:568'
# group_add:
# - '107'
# devices:
# - /dev/dri/renderD128:/dev/dri/renderD128
# - /dev/dri/card0:/dev/dri/card0
environment:
- TZ=America/Los_Angeles
network_mode: bridge
ports:
- 8096:8096/tcp
# cpus: '8' # optional
# mem_limit: 16G # optional
restart: unless-stopped
volumes:
- /mnt/path/to/config:/config:rw
- /mnt/path/to/cache:/cache:rw
# rw = read & write
# ro = read only
  • Vergeet niet je media-datasets als extra volumes toe te voegen zodat de container er toegang toe heeft.

  • De gebruiker & groep die je instelt zijn alleen voor het runnen van de container. Ze worden niet gebruikt om een Jellyfin-account aan te maken.

  • Zorg dat je inspringing correct is voor elke optie. Compose-bestanden gebruiken inspringing om opties correct te verwerken.

  • Je kunt de tijdzone-ID voor jouw regio op Wikipedia vinden.

  • Let op: regels met # ervoor zijn commentaar. Ze worden pas actief als je het hekje verwijdert.

  • Haal de commentaartekens weg bij group_add en devices als je een GPU hebt en hardwareversnelling wilt gebruiken.

    • Heb je een NVIDIA GPU? Lees dit dan eerst.
    • Tenzij je de container als root runt, moet je de render group-ID toevoegen met group_add.
    • Als de render group-ID niet standaard 107 is op alle SCALE-servers, ga dan naar je systeemshell en voer dit commando uit: cat /etc/group | grep render
  • Configureer waar mogelijk ook Jellyfin's auto discovery-poorten.

Docker Compose Options
OptionUsageDescription
container_name"jellyfin"The name of your Docker container.
imageghcr.io/jellyfin/jellyfin:latestThe Docker image to use for the container.
user'UID:GID'The user:group IDs of the user that will run the container.
group_addGIDID of additional group to add.
devices<host-path>:<container-path>Devices (ex. GPU) to pass into the container.
environmentTZ=<timezone-name>Environment variables that affect the container. You can set variables here such as TZ for declaring a time zone. See more environment configs here.
network_modebridge, hostNetwork mode to use for the container. If set to host, remove your forwarded ports.
portshost-port:container-portForward the host port to the container port. Refer to the TrueNAS default port list for a list of assigned port numbers.
cpus'#'Assign # amount of CPU threads to the container. You can't assign more threads than there exists on the installed CPU.
mem_limit#GLimit memory usage by the container. Can also specify different units: K=KB, M=MB, G=GB
restartno, always, failure, unless-stoppedDeclare how to handle automatic container restarts.
volumes/mnt/tank/jellyfin/my-config-dataset:/config:rwHost mount paths on the host system onto the container

App-pagina

Na installatie keer je terug naar het hoofdscherm van applicaties. Hier zie je de status van je Jellyfin-container en kun je het gebruikte compose-bestand bewerken om extra functionaliteit toe te voegen.

  • TrueNAS SCALE's YAML-interface herschikt je YAML-bestand en verwijdert alle commentaar.

Zodra het statuspictogram van je container verandert in het groene Running-icoon, draait je Jellyfin-server.

Je kunt nu toegang krijgen tot je Jellyfin-server door in een webbrowser op je lokale netwerk het IP-adres van je SCALE-server te gebruiken samen met het poortnummer dat je voor Jellyfin hebt ingesteld (de standaard HTTP-poort is 8096). Als je het vorige voorbeeld van het compose-bestand hebt gebruikt en het IP-adres van je server is 192.168.1.10, dan zou je deze URL in een browser gebruiken: http://192.168.1.10:8096

Jellyfin-webportaal

Zodra je in een webbrowser naar je server navigeert, ben je in je Jellyfin-server. Volg de wizard voor de eerste setup om je Jellyfin-server in te stellen. Je kunt ook de Jellyfin-documentatie raadplegen voor verdere hulp.

Het Jellyfin-logo toevoegen aan aangepaste apps

Wanneer je een aangepaste app installeert op SCALE, heeft deze standaard een generiek SCALE-pictogram in plaats van het officiële logo van de app.

Je kunt het Jellyfin-logo als volgt terugzetten:

  1. Ga naar de systeemshell

  2. Schakel over naar root-toegang met de volgende opdracht (om toegang te krijgen tot de Docker App-map): sudo -i

  3. Navigeer naar de locatie van de app-configuratie. De map moet de naam hebben die je de Jellyfin-container hebt gegeven bij het bewerken van het YAML-bestand: cd /mnt/.ix-apps/app_configs/jellyfin/

  4. Open het metadata.yaml-bestand met VIM om het te bewerken: vim metadata.yaml

  5. Ga naar Insert Mode door i te typen, ga dan naar het einde van host_mounts: [] en druk op de ENTER-toets om een nieuwe regel te maken.

  6. Voeg voldoende (twee) spaties toe om de tekstcursor in lijn te brengen met de metadata-opties. Schrijf of plak deze nieuwe regel daar: icon: https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg

  7. Druk op ESC om Insert Mode te verlaten, typ dan :wq en druk op ENTER om op te slaan en af te sluiten.

  • Opmerkingen:
    • Je kunt in de SCALE Shell plakken met SHIFT + INSERT
    • Je kunt vim zonder op te slaan geforceerd afsluiten door op ESC te drukken en dan :q! te typen

Het bestand zou er nu zo uit moeten zien:

custom_app: true
human_version: 1.0.0_custom
metadata:
app_version: custom
capabilities: []
description: This is a custom app where user can use his/her own docker compose
file for deploying services
home: ''
host_mounts: []
icon: https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg
maintainers: []
name: custom-app
run_as_context: []
sources: []
title: Custom App
train: stable
version: 1.0.0
migrated: false
notes: null
portals: {}
version: 1.0.0

Ga daarna naar de aangepaste app op de Apps-pagina. Open de optie Bewerken in Applicatie-info en klik dan onderaan op Opslaan. Hiermee wordt het pictogram van de aangepaste app bijgewerkt met het Jellyfin-logo.


Installeren met de SCALE Community-app

Om de Jellyfin-applicatie te installeren, ga je naar Apps, klik je op Apps ontdekken, begin je met het typen van Jellyfin in het zoekveld of scroll je omlaag om de Jellyfin-applicatiewidget te vinden. Mogelijk moet je op "Catalogus vernieuwen" klikken als de Jellyfin-app niet in de resultaten wordt weergegeven.

Jellyfin-appwidget

Klik op de widget om het scherm met Jellyfin-applicatiedetails te openen.

Scherm met Jellyfin-applicatiedetails

Klik op Installeren om het configuratiescherm voor de Jellyfin-applicatie te openen.

De configuratie-instellingen voor de applicatie worden in verschillende secties weergegeven, die hieronder worden uitgelegd. Om specifieke velden te vinden, klik je in het zoekveld Zoek velden, scroll je naar beneden naar een bepaalde sectie of klik je op de sectiekop in het navigatiegebied in de rechterbovenhoek.

Scherm voor installatie van Jellyfin

Instellingen voor applicatienaam

Accepteer de standaardwaarde of voer een naam in het veld Applicatienaam in. In de meeste gevallen gebruik je de standaardnaam, maar als je een tweede implementatie van de applicatie toevoegt, moet je deze naam wijzigen.

Accepteer het standaard versienummer in Version. Wanneer een nieuwe versie beschikbaar komt, krijgt de applicatie een updatebadge. Het scherm Installed Applications toont de optie om applicaties bij te werken.

Jellyfin-configuratie-instellingen

Je kunt de standaardwaarden in de Jellyfin Configuration-instellingen accepteren of zelf gewenste instellingen invoeren.

Voer eventueel een Published Server URL in voor UDP-autodiscovery, of laat dit veld leeg.

Klik indien nodig op Add om Additional Environment Variables te definiëren, zie Configuratie voor opties.

Gebruikers- en groepsinstellingen

Je kunt de standaardwaarde 568 (apps) in User ID en Group ID accepteren of eigen waarden definiëren.

Gebruikers- en groepsinstellingen

Deze gebruiker en groep worden alleen gebruikt voor het uitvoeren van de Jellyfin-container en zijn niet bedoeld voor aanmelding bij de webinterface. Maak een beheerder aan via de Jellyfin-initialisatiewizard om toegang te krijgen.

Netwerkinstellingen

Selecteer Host Network onder Network Configuration bij gebruik van DLNA, om de netwerkconfiguratie aan hostinstellingen te binden. Anders blijft Host Network uitgeschakeld.

Netwerkinstellingen

Je kunt het standaardpoortnummer in WebUI Port accepteren, namelijk 30013.

Dit kun je wijzigen naar poort 8096. De meeste Jellyfin-clients zoeken standaard naar poort 8096 via ingebouwde scans.

Raadpleeg de standaardpoortenlijst van TrueNAS voor toegewezen poortnummers.

Opslaginstellingen

Jellyfin vereist drie app-opslagdatasets voor:

  1. Configuratieopslag

  2. Cacheopslag

  3. Transcode-opslag

SSD-opslag wordt aanbevolen voor configuratie, cache en transcode. Vermijd datasets op draaiende schijven waar je mediabibliotheken staan om vertragingen te voorkomen.

Installeer Jellyfin met de standaardinstelling ixVolume (automatisch aangemaakt dataset) of gebruik host paths met vooraf gemaakte datasets.

Opslagconfiguratie met ixVolumes

Selecteer Host Path (Bestaand pad op het systeem) om datasets te selecteren via bladeren.

Opslagconfiguratie met Host Paths

Selecteer voor Jellyfin Transcodes Storage bij Type:

  • Host Path (Bestaand pad op het systeem) voor een bestaand dataset

  • ixVolume (Automatisch aangemaakt dataset) om SCALE het dataset te laten aanmaken

  • Temporary (Tijdelijke map op schijf) voor tijdelijke opslag op de ingestelde opslagpool

  • tmpfs (Tijdelijke map in RAM) voor tijdelijke opslag in het systeemgeheugen

Koppel de transcode-directorie bij voorkeur aan een locatie met voldoende vrije ruimte. Transcodes kunnen veel ruimte innemen afhankelijk van de inhoud. Bij ruimtegebrek ontstaan afspeelproblemen wanneer een transcode niet verder kan worden weggeschreven.

Extra opslag koppelen

Klik op Add naast Additional Storage om mediabibliotheek-paden op je systeem toe te voegen.

Aanvullende opslag

Selecteer Host Path (Pad dat al op het systeem bestaat) of SMB/CIFS Share (Koppelt een volume aan een SMB-share) bij Type. Je kunt iXvolume (Dataset automatisch aangemaakt door het systeem) selecteren om een nieuwe bibliotheekdataset aan te maken, maar dit wordt niet aanbevolen.

Het koppelen van een SMB-share maakt gegevenssynchronisatie tussen de share en de app mogelijk. De SMB-share-koppeling biedt momenteel geen ACL-beschermingen. Machtigingen zijn beperkt tot de rechten van de gebruiker die de share koppelde. Alternatieve gegevensstromen (metadata), finder-kleurentags, previews, resource forks en macOS-metadata worden samen met bestandssysteemmachtigingen van de share verwijderd, maar deze functionaliteit wordt actief ontwikkeld en gepland voor een toekomstige TrueNAS SCALE-release.

  • Let op: als je gebruik wilt maken van Jellyfin's ingebouwde functie real-time media scanning, moet je je media rechtstreeks koppelen met een Host Path, omdat SMB-verbindingen deze functie niet ondersteunen.

Voor alle typen vul je een Mount Path in dat binnen de Jellyfin-container gebruikt zal worden.

  • Bijvoorbeeld: het lokale Host Path /mnt/tank/video/movies kan het Mount Path /media/movies toegewezen krijgen.
    • Met dit voorbeeld zou je in Jellyfin naar /media/movies navigeren om de inhoud van /mnt/tank/video/movies op je SCALE-server te zien.
Additional Storage Fields
TypeFieldDescription
AllMount PathThe virtual path to mount the storage within the container.
Host PathHost PathThe local path to an existing dataset on the System.
ixVolumeDataset NameThe name for the dataset the system creates.
SMB ShareServerThe server for the SMB share.
SMB ShareShareThe name of the share.
SMB ShareDomain (Optional)The domain for the SMB share.
SMB ShareUsernameThe user name used to access the SMB share.
SMB SharePasswordThe password for the SMB share user.
SMB ShareSize (in Gi)The quota size for the share volume. You can edit the size after deploying the application if you need to increase the storage volume capacity for the share.

Resourceconfiguratie-instellingen

Resourcebeperkingen

Je kunt limieten instellen voor de CPU en het geheugen dat aan de container waarin Jellyfin draait wordt toegewezen.

Voor GPU-configuratie, vink Passthrough available (non-NVIDIA) GPUs aan als je een GPU-apparaat wilt doorgeven voor hardwareversnelling met Jellyfin.

Installatie voltooien

Klik op Installeren.

Er wordt een container gestart met rootrechten om de juiste machtigingen toe te passen op de Jellyfin-mappen. Daarna draait de Jellyfin-container als een niet-root gebruiker (standaard: 568). Het eigendom van geconfigureerde opslagmappen wordt gewijzigd als de bovenliggende map niet overeenkomt met de geconfigureerde gebruiker.

Het systeem opent het Geïnstalleerde applicaties scherm met de Jellyfin-app in de Implementeren status. Wanneer de installatie voltooid is, verandert dit in Actief.

Applicatiepagina

Klik op de Web UI knop in de Applicatie-info widget om de Jellyfin-webinitiatie-wizard te openen voor het instellen van je beheerdersaccount en het beheren van bibliotheken.

Jellyfin-webportaal

De Jellyfin-applicatie bewerken

Ga naar het scherm Installed Applications en selecteer Jellyfin uit de lijst met geïnstalleerde applicaties. Klik op Edit in de Application Info-widget om het Edit Jellyfin-scherm te openen. De instellingen op het bewerkscherm zijn hetzelfde als op het installatiescherm.

  • U kunt Storage Configuration-paden niet bewerken na de eerste app-installatie als ze automatisch door het systeem zijn aangemaakt (ixVolume).
    • U kunt bestaande opslagkoppelingen en paden van Host Paths nog wel wijzigen.

Klik op Update om wijzigingen op te slaan. TrueNAS werkt de Jellyfin-container automatisch bij, maakt deze opnieuw aan en implementeert deze met de bijgewerkte omgevingsvariabelen.


Volume Mount Info & Real-time Jellyfin Logs

U hebt toegang tot Jellyfin's real-time logs door naar de Workloads-widget te gaan en op het logpictogram rechtsonder te klikken.

Locatie van Volume Mount Info

Als u geen externe locatie hebt opgegeven voor uw config- en cachemappen, worden deze automatisch ergens op uw systeem aangemaakt. Om de huidige locatie van deze (en andere koppelingen naar de container) te zien, klikt u ook op het mappictogram rechtsonder in de Workloads-widget.

Volume Mount Info geopend

Zodra geopend, ziet u een lijst met alle koppelingen en hun paden. U kunt deze informatie gebruiken om ernaartoe te navigeren in uw systeemshell. Houd er rekening mee dat u root-toegang (sudo) nodig hebt om Docker-gerelateerde mappen op SCALE te bereiken.

Containerafbeeldingen beheren

Configuratie dropdown voor App-instellingen

Als u de exacte afbeeldingen wilt zien die op uw TrueNAS SCALE-server zijn geïnstalleerd, gaat u naar de hoofd-Apps-pagina en klikt u op de knop Configuration. Selecteer in het dropdownmenu Manage Container Images. U wordt naar een nieuwe pagina gebracht waar u een lijst ziet met alle geïnstalleerde Docker-afbeeldingen.

U kunt ook nieuwe afbeeldingen ophalen voor toekomstig gebruik.

GUI voor het ophalen van afbeeldingen

U kunt ervoor kiezen om afbeeldingen op te halen van Jellyfin's Docker Hub of GitHub Container Registry.

  • Gebruik jellyfin/jellyfin om te pullen van Docker Hub

  • Gebruik voor GHCR: ghcr.io/jellyfin/jellyfin

  • U kunt deze blogpost raadplegen voor meer info over GHCR:

    • "Docker-gebruikers: We bieden nu GitHub Container Registry (GHCR) aan als alternatief containerregister naast Docker Hub. U kunt afbeeldingen ophalen uit het nieuwe register via URI's zoals ghcr.io/jellyfin/jellyfin:latest. Maak u geen zorgen, we hebben geen plannen om Docker Hub als containerregister te laten vallen, maar we vinden het bieden van beide opties gebruikers meer keuze en flexibiliteit geeft."
  • Bekijk ook dit forumbericht over het gebruik van Docker-afbeeldingstags.

Als u een container heeft die een van uw afbeeldingen gebruikt, zal SCALE u via de GUI op de hoogte stellen van een beschikbare update voor de afbeelding, mits u de latest-tag hebt gebruikt of een van de andere tags die niet naar een enkele release verwijst.

NVIDIA GPU's op SCALE (v24.10+)

  • Voor gebruikers met een NVIDIA GPU: lees de release-opmerkingen van v24.10 Electric Eel over GPU's:
    • "Starting in 24.10, TrueNAS does not include a default NVIDIA GPU driver and instead provides a simple NVIDIA driver download option in the web interface. This allows for driver updates between TrueNAS release versions."
    • "Users can enable driver installation from the Installed applications screen. Click Configure > Settings and select Install NVIDIA Drivers. This option is only available for users with a compatible NVIDIA GPU and no drivers installed or for users who have previously enabled the setting."