260914-les films de la Seedbox sur le Kdrive et indexation automatique Jellyfin

Mise en place le 14/09/2026. Scripts et README dans Jux-scripts/Seedbox-Films/ (arbre Syncthing). Tableau de bord : ligne « Seedbox » du tableau des procédures en pied de la veille du jour, et sonde « Seedbox-Films » des tâches nocturnes.

Le besoin, et ce qui a été écarté

Faire passer un film de la seedbox (pool372.seedbox.fr, accessible en WebDAV — c'est un Nextcloud) jusqu'à Jellyfin, sans le faire transiter par le PC, et que Jellyfin l'indexe tout seul.

Retenu : rclone sur le VPS, seedbox déclarée comme second remote à côté de kdrive. Le VPS pilote, mais le flux WebDAV de la seedbox est réécrit tel quel dans le flux WebDAV de kDrive — le disque du VPS n'est pas touché. La seedbox et kDrive restent « deux mondes » : le seul point de contact est le dossier FILMS de l'une vers le dossier movies de l'autre.

Le circuit

seedbox (WebDAV Nextcloud)            kDrive (WebDAV)                    VPS
Seedbox/FILMS/*.mkv  --rclone copy-->  Videos_NAS/video/movies  --FUSE-->  /mnt/nas_videos/video/movies
                                       (id 1482703)                        = /data/movies dans Jellyfin
                                                                           bibliothèque « Films récents »

Un film terminé sur la seedbox est dans Jellyfin 5 à 11 minutes plus tard : jusqu'à 5 min pour qu'il soit tenu pour stable, jusqu'à 5 min avant le passage du cron, ~1 min de copie par film, ~30 s de scan.

Ce que fait seedbox_films.sh (cron VPS toutes les 5 min)

  1. Verrou par PID — un double lancement copierait deux fois les mêmes fichiers.
  2. Liste la seedbox (rclone lsjson) : c'est la seule source de vérité (voir le piège kDrive ci-dessous).
  3. Retient ce qui est présent sur la seedbox, stable depuis 5 min, et absent de sa mémoire (/home/debian/.seedbox_films.copies, une ligne taille ⇥ nom par fichier copié). Exclut *.part, *.!qB, *.aria2 et les dossiers cachés. Rien à faire → sort en silence, le journal ne grossit que quand il se passe quelque chose.
  4. Vérifie que kDrive répond, puis rclone copy --files-from-raw vers kdrive:…/Videos_NAS/video/movies, en --size-only (le WebDAV kDrive n'expose ni hash ni date). copy, jamais sync : la seedbox n'est jamais modifiée, et une suppression sur la seedbox ne supprime rien sur kDrive.
  5. Si la copie a réussi, les fichiers entrent en mémoire, puis :
    • rclone rc vfs/refresh dir=video/movies sur le montage kdrive-video (port 5578). Sans cela le montage garde son listing 72 h et Jellyfin ne voit rien — le même piège que Komga (page 168) ;
    • POST /Items/{id}/Refresh sur la seule bibliothèque « Films récents » (a8c97a7ab1c7545488876ca753a24ab3), avec une clé API Jellyfin dédiée seedbox-films — pas un scan général des 15 bibliothèques sur kDrive.
  6. Si la copie a échoué : rien n'entre en mémoire, tout est retenté au passage suivant.

--simulation passe --dry-run à rclone et s'arrête avant la mémoire et le rafraîchissement.

Première exécution — 14/09/2026

ÉtapeMesure
Copie seedbox → kDrive7 films, 13,4 Gio en 196 s (~73 Mo/s), disque du VPS intact
Rafraîchissement du montage3 s
Scan Jellyfin30 s plus tard, .nfo, affiches, fonds et logos produits pour 6 films sur 7
IdentificationLa Corde au cou (Dead Man's Wire), Dreams, Michael, La Vallée des fous, Que la bête meure, Vivaldi et moi (Primavera) — et un raté : The.Mandalorian.And.Grogu.2026.Multi.Truefrench.Imax.WEBRIP.mp4, resté sous son nom brut (trop de jetons après l'année). À identifier à la main, ou nommer Titre (Année).ext sur la seedbox avant copie

Pièges rencontrés — à ne pas redécouvrir

Où sont les choses sur le VPS

QuoiOù
Script (propagé par Syncthing)/home/debian/Documents/Jux_univers/Jux-scripts/Seedbox-Films/seedbox_films.sh
Cron*/5 * * * *, crontab de debian (sauvegarde crontab.bak-260914)
Journal/home/debian/logs/seedbox_films.log (+ seedbox_films.cron.log, sortie brute)
Mémoire des copies/home/debian/.seedbox_films.copies, amorcée le 14/09 avec les 7 premiers films
Secrets/home/debian/.seedbox_films.env (chmod 600, hors Syncthing) : clé API Jellyfin, id de la bibliothèque, mot de passe RC du montage video
Remote rclone seedbox/home/debian/.config/rclone/rclone.conf (sauvegarde .bak-260914) — type = webdav, vendor = nextcloud, url = https://pool372.seedbox.fr/files/remote.php/dav/files/seedbox4f65a4ad8f8a0

Sécurité — le mot de passe de la seedbox

Il n'existe qu'à un seul endroit : rclone.conf du VPS, obscurci, permissions 600. Consigne explicite de Julien : il n'est ni dans CLAUDE.md, ni dans le README, ni dans cette page, ni dans la mémoire de Claude — contrairement aux autres identifiants de l'infrastructure. Il a été saisi par Julien depuis sa propre console. S'il change : rclone config password seedbox pass 'nouveau' sur le VPS, à taper par Julien.

Canari du matin

Deux entrées ajoutées le 14/09 dans Jux-scripts/Etat-Infra/ :

Lecture : ERREUR : seedbox injoignable toutes les 5 min = mot de passe changé ou seedbox arrêtée ; AVERTISSEMENT : vfs/refresh a echoue = montage kdrive-video mort, monitor-rclone.sh s'en occupe.

Débits mesurés

TrajetDébit
seedbox.fr → kDrive, piloté par le VPS, 2 flux~73 Mo/s (13,4 Gio en 196 s ; 10 Gio en 143 s)
kDrive → conteneur Jellyfin (mesure du 30/08)65,6 Mo/s
Pour mémoire : ce qu'aurait fait FileZilla2 × le volume sur la ligne Orange du PC

Non fait, à décider


Revision #2
Created 2026-09-14 19:20:02 UTC by Julien
Updated 2026-09-14 19:41:32 UTC by Julien