vrijdag 17 oktober 2025

Jellyfin server in docker op de QNAP nas

 Complete setup Jellyfin op QNAP

Ik ga uit van de volgende zaken:

de QNAP heeft een intel processor. in mijn geval een Intel celeron. En een externe USB harddisk met daarop de jellyfin film bestanden op share/external/DEV3303_1

Als dat jij jouw systeem anders is, dien je de opdrachten dienovereenkomstig aan te passen.

Log in met SSH in het admin account. Vaak moet je dat activeren, omdat dat op veel QNAP nas apparaten is uitgezet. Doe dat in Control Panel, Bevoegdheden, gebruikers en klik dan op het knopje "wijzig gebruikers profiel"achter admin als deze de status uitgeschakeld heeft.

Onder rnetwerk en bestandsservice staat telnet/SSH waar je de SSH service kunt aanzetten. Daarna kun je met een programma zoals remmina inloggen in een SSH sessie van de NAS. de commando'sdie hier staan genoteerd worden gegeven in deze SSH omgeving.


Mappen aanmaken voor config en cachecd /share/Container

mkdir -p jellyfin/config

mkdir -p jellyfin/cache

Hier slaat Jellyfin zijn instellingen en cache op
Altijd persistent, dus updates van Docker vernietigen deze mappen niet

Controleer USB-schijf

Je USB-schijf zit in mijn geval op /share/external/DEV3303_1.
Controleer:

ls /share/external/DEV3303_1

Je zou de films en mappen moeten zien

Geen extra mount nodig, Docker kan er direct bij als we PUID/PGID op 0 zetten

check of er hardware transcoding mogelijk is:

Aangezien je een Intel-processor hebt, kun je hardware-versnelling gebruiken.

  1. Zorg dat /dev/dri beschikbaar is op je NAS:

ls /dev/dri

Als je 

card0  renderD128 

ziet dan zit je goed en moet je deze regel ook gebruiken:

devices:

  - /dev/dri:/dev/dri


in Jellyfin zelf activeer je de hardware versnelling straks met:

  • Ga naar Instellingen → Afspelen → Transcodering

  • Zet “Hardware Acceleration” aan → kies “Intel QuickSync”


Maar nu eerst:

Maak docker-compose.yml aan

Ga naar de Jellyfin-map:

cd /share/Container/jellyfin

Maak het bestand:

vi docker-compose.yml

Druk i om insert mode te starten
Plak dit:


version: "3.9"

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    environment:
      - TZ=Europe/Amsterdam
      - PUID=0
      - PGID=0
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /share/external/DEV3303_1:/media
    devices:
      - /dev/dri:/dev/dri
    ports:
      - "8096:8096"
    restart: unless-stopped

Opslaan en vi verlaten:

  1. Druk Esc

  2. Typ :wq

  3. Druk Enter


de regels 
devices:
      - /dev/dri:/dev/dri

alleen  gebruiken als je eerder met

ls /dev/dri

dit als output kreeg:

card0  renderD128 

Zo niet, dan laat je die twee regels weg.

Container starten


docker compose up -d

  • Docker downloadt de laatste Jellyfin image
  • Container draait op poort 8096
  • /media verwijst naar je USB-schijf
  • Intel QuickSync hardware-transcodering is actief

Controleer:

docker ps


Jellyfin configureren via browser

Open:

http://<NAS-IP>:8096

  1. Doorloop setup-wizard → admin account

  2. Voeg mediabibliotheek toe → pad: /media

  3. Hardware-transcodering aanzetten:

    • Instellingen → Afspelen → Transcodering → Hardwareversnelling

    • Kies Intel QuickSync (VAAPI)

Test met een film → Dashboard → Activiteit → “Hardware acceleration: Yes (QSV)”


Updates van Jellyfin uitvoeren

Eerst naar de map gaan waarin de docker compose file van jellyfin staat. Op mijn QNAP is dat in:

/share/CACHEDEV1_DATA/Container/jellyfin/

Als dat bij jou ergens anders is kun je de juiste compose file met dit commando vinden:

find /share -type f -name "docker-compose.yml" 2>/dev/null

Zodra je de jellyfin compose file gevonden hebt, kun je dit commando stoppen met CTRL-C

Ga met dit commando naar die map en vul de juiste map in voor jouw jellyfin compose file:

cd /share/CACHEDEV1_DATA/Container/jellyfin/

Dankzij docker-compose is het updaten vervolgens heel eenvoudig:

  • Stop oude container (optioneel, meestal niet nodig)
docker-compose down

  • Download nieuwste Jellyfin image:
docker-compose pull

  • Herstart container:
docker-compose up -d

Alle instellingen en cache blijven behouden in config en cache mappen
Container draait weer met de nieuwe versie
controleer of de docker weer draait met:

docker ps

Updaten via de GUI van container station is ook mogelijk

Dat kan handmatig via Container Station

  1. Ga naar Container Station → Installatiekopieën

  2. Zoek het image jellyfin/jellyfin

  3. Klik op tandwiel en dan Ophalen 

  4. Wacht tot de download klaar is

  5. Stop de Jellyfin-container

  6. Start hem opnieuw

✅ Je instellingen blijven behouden omdat ze in /config staan.

Automatisch updaten via watchtower

Nog handiger is om watchtower te installeren en die de updates automatisch te laten doen:

start de SSH shell en geef het volgende commando:

docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower


Handige extra commando’s vanuit de SSH shell

  • Logs bekijken:

docker-compose logs -f

  • Container stoppen:
docker-compose stop

  • Container verwijderen (zonder data):

docker-compose rm

  • Containers en images schoonmaken:
docker-system prune -a

Tips voor QNAP

  • Gebruik altijd /share/Container of /share/Public voor Docker volumes, nooit /share/system

  • PUID=0 en PGID=0 geeft volledige toegang tot USB-schijf

  • Config- en cache-mappen zorgen dat updates veilig zijn

  • Docker Compose maakt toekomstige updates en beheer supersimpel


Portainer

Portainer is een handiger manier om dockers op de QNAP te beheren.

log in op het admin account via SSH

verwijder eventuele oudere versies van portainer

docker stop portainer
docker rm portainer

docker run -d \
  -p 9000:9000 \
  -p 9443:9443 \
  --name=portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

/var/run/docker.sock geeft Portainer directe toegang tot Container Station’s Docker. Je zou daarin dus alle dockers moeten zien die via container station zijn geïnstalleerd.

Log in bij portainer: https://QNAP-IP-nr:9443
maak een admin account aan
Je ziet nu een environmetn: local. Dat is de conrainer omgeving van de QNAP



Vanuit Portainer kan de Jellifin docker ook worden geüpdate:

1) Klik op de linker link van de container die je wilt updaten. In dit geval Jellyfin
2) in het container detail scherm klik op "stop container"
3) Klik daarna op "recreate"
4) Schuif de schakelaar "Re-Pull image" 
5) als alles klaar is kun je de docker herstarten.

Als je hierna met Jellyfin verbindt, kun je een melding krijgen dat het niet dezelfde Jellyfin is al eerder en dien je te bevestigen dat je toch wilt verbinden.

Portainer zelf updaten


Soms dien je Portainer zelf ook te vernieuwen. Dat kan helaas niet vanuit portainer. Hiervoor moet je een SSH verbinding maken met de QNAP naar het admin account:

docker ps (toont container ID en containerImageName)
in dit voorbeeld gebruik ik 3ed078654f4f en jellyfin/jellyfin:latest
docker stop 3ed078654f4f docker rm 3ed078654f4f docker rmi jellyfin/jellyfin:latest
docker run -d \
  -p 9000:9000 \
  -p 9443:9443 \
  --name=portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Geen opmerkingen:

Een reactie posten

Opmerking: Alleen leden van deze blog kunnen een reactie posten.

Terughalen van verwijderde mails in Gmail

Als je per ongeluk alle (of heelveel) emails hebt verwijderd in Gmail kun je nog enkele dingen proberen om deze terug te halen: Prullenbak G...