14_Jellyfin
jellyfin
The Free Software Media System
| Image | jellyfin/jellyfin:latest |
|---|---|
| Version | 10.10.7 |
| Etat | Up 9 hours (healthy) |
| Compose project | jellyfin |
| Reseau | host |
| URL | https://jellyfin.juxjux.ovh |
| Source | https://github.com/jellyfin/jellyfin-packaging |
Volumes
| Source (hote) | Destination | Type | Mode |
|---|---|---|---|
/mnt/nas_videos/movies | /data/movies | bind | rw |
/mnt/nas_videos/palettes | /data/palettes | bind | rw |
/home/debian/jellyfin/config | /config | bind | rw |
/mnt/nas_videos/cinema_europe | /data/cinema_europe | bind | rw |
/mnt/nas_videos/cinema_UK | /data/cinema_uk | bind | rw |
/mnt/nas_videos/spectacles | /data/spectacles | bind | rw |
| /cache | volume | rw |
/mnt/nas_videos/animes | /data/animes | bind | rw |
/mnt/nas_videos/cinema_asie | /data/cinema_asie | bind | rw |
/mnt/nas_videos/cinema_realisateurs | /data/cinema_realisateurs | bind | rw |
/mnt/nas_videos/fantastique_et_SF | /data/fantastique_et_SF | bind | rw |
/mnt/nas_videos/historiques | /data/historiques | bind | rw |
/mnt/nas_videos/series | /data/series | bind | rw |
/mnt/nas_videos/cinema_italie | /data/cinema_italie | bind | rw |
/mnt/nas_videos/culture_cuisine | /data/culture_cuisine | bind | rw |
/mnt/nas_videos/documentaires | /data/documentaires | bind | rw |
Integration Claude Code — MCP
| Statut MCP | MCP actif |
|---|---|
| Outils (prefix) | mcp__jellyfin__ |
| Configuration | Script Python : C:\Users\eliob\.claude\mcp_jellyfin.py | Auth : JWT MediaBrowser Token via POST /Users/AuthenticateByName |
Outils disponibles
get_librariesget_itemsget_itemget_recently_addedget_resume_itemsget_sessionsget_usersget_server_infoscan_librarysearch_items
Ce que nous pouvons faire ensemble
- Parcourir films, séries et musiques de la médiathèque
- Voir les ajouts récents et les éléments en cours de lecture
- Surveiller les sessions actives (qui lit quoi en ce moment)
- Déclencher un scan de bibliothèque après ajout de contenu
- Rechercher un titre dans toute la médiathèque
260830 - Lecture des flux vidéos Jellyfin à partir de kDrive
Statut : àFAIT exécuter.le 2026-08-30. Cette procédureJellyfin ne peutlit démarrerplus qu'unele foisNAS. laIl copielit kDrive par un montage rclone FUSE. Le NAS conserve l'intégralité des 694 Go terminée et vérifiée par téléchargement intégral — voirl'étape la6 procédure(suppression) « 260830 - Basculement des vidéos de SASNEXTE vers kDrive ».
Ne pas basculer le montage tant que le dossier kDrive est incomplet : Jellyfin verrait une médiathèque tronquée et supprimeraitreste en masseattente, desaprès élémentspériode de sa base.d'observation.
PourquoiRésultat la bascule améliore la lecture
Mesuré le 2026-08-30 : le CIFS actuel via WireGuard plafonne à 5,0 Mo/s (40 Mbit/s) — suffisant pour un 1080p courant, juste pour un remux, et incompatible avec deux flux simultanés. Depuis kDrive, le VPS descend à 97,6 Mo/s (780 Mbit/s). Le goulot était le tunnel depuis Toulon, pas kDrive.
Quatre constats relevés sur l'installation actuelle
:sharedtransport endpoint is not connectedEnableRealtimeMonitor=True--poll-intervalSaveLocalMetadata=Truepalettes/Paul Cézanne....trickplaymovies/Borgo/movie.nfoHardwareAccelerationType=noneÉtapesmesuré
| Après | ||
|---|---|---|
|
mount --bind /mnt /mntmount --make-shared /mnt/etc/fstab:shared/etc/fstabmnt/nas_videos//10.0.0.2/video/mnt/nas_videosVideos_NAS
kdrive-video.servicelu kdrive-music.service/mnt/nas_videos
shared EnableRealtimeMonitoractif sur 15 bibliosdésactivé partout
monitor-rclone.shjellyfin
Le pointgoulot décisifétait le tunnel WireGuard depuis Toulon (40 Mbit/s, incompatible avec deux flux simultanés), pas kDrive. La bascule améliore la lecture au lieu de l'étapela 5dégrader.
Le remontermontage
Service /etc/systemd/system/kdrive-video.service, activé au démarrage, calqué sur lekdrive-music.service chemin:
ExecStart=/usr/bin/rclone --config=/home/debian/.config/rclone/rclone.conf mount \
--rc --rc-addr 127.0.0.1:5578 --rc-user=rcadmin --rc-pass=RcVideo2026! --rc-enable-metrics \
"kdrive:Julien Bertrand (0)/Videos_NAS" /mnt/nas_videos \
--allow-other --dir-cache-time 72h --poll-interval 15s \
--vfs-cache-mode minimal --buffer-size 256M \
--uid 1000 --gid 1000 --umask 002 --allow-non-empty. La compose n'est pas touchée dans ses chemins, les 15 bibliothèques Jellyfin gardent leurs /data/* à l'identique — donc aucune ré-identification, aucun scan complet, aucune perte d'historique de visionnage.
Options du montage rclone
--vfs-cache-mode minimal— les: lecturespassenten direct, seules les écritures (nfo, trickplay)sontpassentmisesparen tampon surle disque.NeSurtout pasreprendrefullcomme les montages musique:— il cacherait 4 Go par film, or le VPS n'a que 33 Go libres sur 99 et l'incident du 2026-06-24 (disque à 100 %) est parti de là.--dir-cache-time 72h— comme music et komga ;5mavait rendu music instable.
--rc-addr 127.0.0.1:55781 0.0.0.0, règle permanente depuis l'incident du 2026-06-09.
--allow-non-empty--allow-other--uid--gid 1000 : la compose déclare user: 1000:1000.
/mnt était déjà en propagation shared — mount six--bind La carte des binds
Le montage porte sur Videos_NAS entier, pas seulement sur son sous-dossier video, parce que deux bibliothèques ont été fusionnées avec du contenu kDrive préexistant. Les chemins conteneur sont restés identiques : aucune ré-identification, aucun historique de visionnage perdu.
/mnt/nas_videos/Séries/data/series — fusionné
/mnt/nas_videos/Video Cuisine/data/culture_cuisine — fusionné
/mnt/nas_videos/video/<13 autres>/data/<13 autres>
/home/debian/jellyfin/config/config
Compose : stack Portainer 5, projet compose 5. Sauvegarde docker-compose.yml.bak-260830.
sudo docker compose -p 5 -f /var/lib/docker/volumes/portainer_data/_data/compose/5/docker-compose.yml up -d --force-recreate
Disponible pour de futures bibliothèques
Le montage expose aussi ce qui vivait déjà dans Videos_NAS et qui n'est branché sur aucune bibliothèque : Video Culture Arts et Peinture (130,8 Go), Video Architecture et Urbanisme (29,4 Go), Video concerts (3,5 Go).
Pièges rencontrés — à ne pas re-découvrir
grep -c renvoie 1 quand il ne trouve rien et tue un script en set -e. Le redéploiement avait réussi, seule la vérification a échoué.
Docker ne montre pas :shared dans .HostConfig.Binds, il le normalise dans .Mounts[].Propagation. Vérifier là.
Le projet compose est 5 (l'ID de stack), pas jellyfin — lire le label com.docker.compose.project avant tout redéploiement, sous peine de créer une pile en double.
Retour arrière
/etc/fstab (sauvegarde /etc/fstab.bak-260830)
sudo systemctl disable --now kdrive-video.service
Restaurer docker-compose.yml.bak-260830 et redéployer
Tant que le NAS n'a pas été vidé, le retour arrière est complet.
À signaler, hors périmètre
/home/debian/jellyfin/config (688 Mo — tout l'historique de visionnage et les métadonnées) n'est pas dans vps_backup.sh, qui ne couvre que BookStack, Immich, Joplin, Mealie, ReadeckReadeck, Baïkal et Baïkal.~/Documents. Cela se compresserait bien. À traiter séparément.