Seedbox + Plex local : rapatriement automatique des médias
0 / 8
← Tous les guides

Seedbox + Plex local : rapatriement automatique des médias

Le guide pour synchroniser automatiquement votre seedbox vers votre NAS/PC où tourne Plex. rclone, rsync, lftp : trois méthodes selon votre profil.

Choisissez votre guide

Ce guide a un but éducatif. monratio.fr n'encourage en aucun cas le piratage ou le téléchargement illégal de contenus protégés par le droit d'auteur. Le rapatriement de données depuis une seedbox est une technique standard utilisée pour distribuer Linux, des jeux libres et des contenus sous licence Creative Commons.

Architecture cible de ce guide

Seedbox datacenter (1-10 Gbps) qui télécharge et seed, rapatriement SFTP/HTTPS vers NAS/PC local, Plex indexe la bibliothèque et sert le contenu sur la TV familiale en réseau local.

Objectif : automatique, fiable, à bande passante limitée pour ne pas saturer votre fibre.

1

🏠 Pourquoi rapatrier (et pas streamer depuis la seedbox)

Vous avez une seedbox qui télécharge à 1 Gbps, et vous voulez regarder vos films sur la TV du salon. 2 options existent : faire tourner Plex sur la seedbox, ou rapatrier les fichiers sur un NAS/PC local qui fait tourner Plex. La deuxième approche est toujours meilleure, voici pourquoi.

Plex sur seedbox vs Plex local :

Plex sur la seedbox
Consomme la BP de la seedbox (souvent fair-use 5-10 To/mois), limite de connexions partagées, transcoding CPU vite saturé, qualité dégradée en 4K.
Stream via WAN : 30-80 Mbps max
Plex local (NAS/PC)
Réseau LAN à 1 Gbps, direct play possible en 4K HDR sans transcoding, pas de limite de connexions, aucun impact sur la seedbox.
Stream LAN : 1000 Mbps (4K Remux OK)

La règle d'or : seedbox pour télécharger/seeder (c'est son métier, la bande passante datacenter est prévue pour ça), NAS local pour servir (c'est un poste sédentaire branché en Ethernet gigabit, aucun intérêt à sortir sur le WAN).

Flux de données ciblé :

🌊
Seedbox
DL / seed
1-10 Gbps
→ SFTP
🏠
NAS local
stockage
+ Plex
→ LAN
📺
TV / Client
lecture
direct play
Résultat : seedbox utilisée à 100% pour sa mission, NAS utilisé à 100% pour sa mission, TV qui lit du 4K sans hoquet.

Colocated Plex on seedbox = CPU partagé avec d'autres clients (transcoding laggue sur peak hours), upload sortie du datacenter throttle à 1 Gbps partagé, et fair-use (5-10 To/mois typique) cramé en quelques streams 4K. Plex local = direct play gigabit LAN, hardware transcode iGPU/NVENC si besoin, zéro impact sur la seedbox qui continue à seeder full speed. Architecture : seedbox (datacenter) → SFTP/HTTPS pull → NAS local → PMS → LAN clients.

Pourquoi pas le streaming direct via rclone mount ? C'est possible (on mount la seedbox en VFS via rclone sur le NAS, Plex indexe la vue montée). Mais chaque lecture traverse le WAN, ça sature la seedbox, ça introduit de la latence au seek, et ça casse dès que votre connexion hoquette. Le rapatriement complet reste la solution la plus fiable.

Et si vous avez peu d'espace local ? Rapatriez uniquement vos films/séries "à regarder cette semaine", gardez le reste sur la seedbox. Avec 4 To local, vous avez largement de quoi tourner 2-3 mois de consommation familiale.

2

🛤️ Choisir sa méthode de rapatriement

Il existe trois méthodes principales pour synchroniser une seedbox vers un NAS. Toutes les trois marchent, mais n'ont pas les mêmes forces. Voici comment choisir selon votre profil.

Comparatif des 3 méthodes de rapatriement :

rclone (recommandé)
TOP 2026
Multi-protocole (SFTP, FTP, WebDAV, S3, Drive…), retry automatique, déduplication, transferts parallèles, bandwidth scheduling. C'est le couteau suisse du rapatriement moderne.
✓ Robuste ✓ Rapide ✓ Multi-source ~ Setup initial un peu long
rsync
Le standard Linux/Unix, dispo nativement sur Synology/QNAP. Parfait pour un setup simple et stable. Moins rapide que rclone en parallèle mais très fiable.
✓ Simple ✓ Natif partout ~ Pas de parallèle natif ~ SSH uniquement
lftp
Un client FTP/SFTP scriptable avec mode mirror. Utile si votre seedbox n'expose que du FTP pur (rare en 2026, la plupart sont passées au SFTP pour la sécurité).
✓ Script friendly ~ Niche (FTP) ✗ Daté en 2026
💡 Recommandation de ce guide : rclone. Les étapes 3 à 7 se basent sur rclone. Si vous préférez rsync, la logique reste la même, seules les commandes changent.

Dans les cas réels que j'ai vus, rclone gagne haut la main pour un usage NAS + seedbox. Il gère tout ce qu'on peut vouloir : retry sur connexion foireuse, bande passante planifiée, déduplication (ne re-télécharge pas ce qui est déjà local), et logs structurés.

Arbre de décision rapide :

  • SFTP/SSH + parallélisme + scheduling → rclone (sftp backend)
  • SSH only, setup minimal, un seul thread OK → rsync over SSH
  • FTP pur (legacy) ou FTPS → lftp avec mirror --parallel=4
  • Cloud (Drive, Dropbox, Mega) en plus → rclone (seul à les gérer tous)

Dans la suite du guide, rclone sera l'outil principal. Les concepts (dossier pivot, bwlimit, cron) s'appliquent aux trois.

Peut-on combiner plusieurs méthodes ? Oui, et c'est même une stratégie courante : rclone pour le rapatriement principal (vitesse, parallèle), rsync pour un backup différentiel hebdomadaire (fiabilité, simple à auditer). Les deux outils coexistent très bien sur le même NAS.

Et SyncThing ? SyncThing est un outil de synchronisation peer-to-peer. Pour une seedbox → NAS en pull, c'est overkill et moins rapide qu'un pull SFTP direct. Réservez SyncThing pour synchroniser des dossiers entre plusieurs machines que vous possédez.

3

🔑 Récupérer les credentials seedbox

Avant de configurer quoi que ce soit, il faut récupérer les informations de connexion de votre seedbox. Ces infos se trouvent toutes dans le panel de contrôle de votre fournisseur (Seedbox.io, Ultra.cc, RapidSeedbox, Seedit4.me…).

Cherchez dans votre panel une section nommée selon les cas :

  • SSH / SFTP Access
  • Server Info
  • Connection details
  • Credentials

Vous devriez trouver quelque chose ressemblant à ceci :

Panel seedbox → SFTP Access (exemple) :

Hostname ds-1234.seedbox.io
Port SFTP/SSH 22
Username user1234
Password xY3k9Ps2mQ8vR4tL… (généré)
Chemin des downloads /home/user1234/downloads
⚠️ Le password est souvent généré automatiquement à la création du compte. Vous pouvez le changer dans le panel, mais ne le partagez jamais.

Testez rapidement la connexion depuis votre PC avec un client SFTP classique (FileZilla, WinSCP…). Si vous voyez les dossiers de votre seedbox, tout est bon.

Optionnel mais recommandé : la clé SSH

Plutôt que de mettre votre mot de passe dans tous les scripts, générez une paire de clés SSH. Avantages : plus sécurisé, pas besoin de re-taper le password, et rclone peut l'utiliser en mode silencieux.

Générer une clé SSH (depuis le NAS en SSH) :

# 1. Générer la paire de clés (laissez passphrase vide pour l'auto)
ssh-keygen -t ed25519 -f ~/.ssh/seedbox_key -N ""

# 2. Copier la clé publique sur la seedbox
ssh-copy-id -i ~/.ssh/seedbox_key.pub -p 22 user1234@ds-1234.seedbox.io

# 3. Tester (ne doit plus demander de password)
ssh -i ~/.ssh/seedbox_key -p 22 user1234@ds-1234.seedbox.io "ls downloads/"

Récupérer hostname/port/user/password dans le panel seedbox (section SFTP ou SSH Access). Générer une clé ed25519 (pas RSA en 2026) et push avec ssh-copy-id. Alternative si ssh-copy-id absent : cat ~/.ssh/seedbox_key.pub | ssh -p 22 user@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys". Stocker la clé dans ~/.ssh/ avec perms 600, pas dans un volume monté n'importe où.

Pourquoi préférer la clé SSH au password ? Un password peut être brute-forcé, leaké dans un log, ou intercepté si vous tapez sur un clavier douteux. Une clé ed25519 fait 256 bits, elle n'est pas brute-forçable en pratique. En plus, vous pouvez la révoquer d'un coup depuis le panel de la seedbox si vous perdez votre NAS.

Structure typique d'une seedbox : ~/downloads/ (ce que télécharge votre client torrent), ~/watch/ (dossier magique où balancer les .torrent), ~/rutorrent/ ou ~/qbittorrent/ (config du client). C'est ~/downloads/ qu'on va rapatrier.

4

📦 Installer rclone sur NAS Synology

rclone doit tourner sur votre NAS (ou PC qui fait tourner Plex). Sur Synology, il y a trois méthodes pour l'installer. Choisissez celle qui colle à votre confort technique.

Méthode A : SynoCommunity Facile, via DSM, paquet communautaire
  1. Centre de paquets DSM → Paramètres → Sources de paquets
  2. Ajouter : https://packages.synocommunity.com
  3. Dans Communauté, chercher rclone et installer
  4. Le binaire est ensuite dispo via SSH dans /usr/local/bin/rclone

💡 Méthode la plus simple pour débuter. La mise à jour se fait via DSM.

Méthode B : Docker Isolé, image officielle, idéal Container Manager
  1. Container Manager → Image → rechercher rclone/rclone
  2. Télécharger le tag latest
  3. Monter /volume1/docker/rclone sur /config (pour persister la config)
  4. Monter /volume1/data sur /data (pour les fichiers rapatriés)
  5. Lancer avec la commande rcd --rc-web-gui pour avoir une UI web

💡 Méthode idéale si vous avez déjà une stack Docker. Isolation propre et maj en un clic.

Méthode C : SSH manuelle Direct depuis rclone.org, pour les bidouilleurs
  1. Activez SSH : DSM → Panneau de configuration → Terminal & SNMP → Activer le service SSH
  2. Connectez-vous en SSH : ssh admin@IP-NAS
  3. Lancez la commande d'installation officielle (voir ci-dessous)
  4. Vérifiez : rclone version

Voici la commande d'installation pour la méthode SSH :

Installation rclone en SSH :

# Passer en root (sudo sur Synology moderne)
sudo -i

# Installation officielle rclone (détecte l'architecture automatiquement)
curl https://rclone.org/install.sh | sudo bash

# Vérifier
rclone version

# Sortie attendue :
# rclone v1.68.x
#   os/version: synology ds-xxxx
#   os/kernel: 4.4.xxx (x86_64)
#   os/type: linux
#   os/arch: amd64
#   go/version: go1.23.x
#   go/linking: static
#   go/tags: none

Une fois rclone installé, créez les dossiers qui recevront vos médias :

# Créer les dossiers sur le NAS
mkdir -p /volume1/data/films
mkdir -p /volume1/data/series
mkdir -p /volume1/logs
mkdir -p /volume1/scripts

# Droits pour l'utilisateur qui fera tourner rclone
chown -R admin:users /volume1/data
chmod -R 775 /volume1/data

3 voies : SynoCommunity (simple, maj auto DSM), Docker rclone/rclone:latest (isolé, portable), ou installation manuelle via curl https://rclone.org/install.sh | sudo bash. Pour un NAS dédié, préférez la méthode SSH directe : binaire statique Go, pas de dépendances, fonctionne sur DSM 6/7 sans souci. Validation : rclone version doit remonter v1.68+ en 2026. Stockage : /usr/local/bin/rclone (install.sh) ou /usr/local/rclone/bin/rclone (SynoCommunity).

rclone vs lftp vs rsync en ligne de commande : rclone a une syntaxe rclone action source dest [flags], rsync c'est rsync -options source dest, lftp c'est un shell interactif avec mirror. rclone est le plus moderne et le plus explicite dans ses options, d'où son adoption massive en 2025-2026 pour les setups NAS + cloud/seedbox.

Mise à jour : rclone sort une version mensuellement. Pour updater manuellement : rclone selfupdate (depuis v1.55). Sur Docker : docker pull rclone/rclone:latest. Sur SynoCommunity : DSM → Centre de paquets → Mettre à jour.

5

⚙️ Configurer rclone (interactif)

rclone a besoin de savoir comment se connecter à votre seedbox. Pour ça, il y a un wizard interactif qui vous pose les questions une à une. Lancez simplement :

rclone config

Le wizard vous guide. Voici exactement ce qu'il faut répondre, étape par étape :

Session interactive rclone config :

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

Enter name for new remote.
name> seedbox

Option Storage.
Type of storage to configure.
...
 5 / SSH/SFTP
   \ (sftp)
...
Storage> sftp

Option host.
SSH host to connect to.
host> ds-1234.seedbox.io

Option user.
SSH username.
user> user1234

Option port.
SSH port number.
port> 22

Option pass.
SSH password, leave blank to use ssh-agent.
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank
y/g/n> y
Enter the password:
password: ********
Confirm the password:
password: ********

Option key_file.
Path to PEM-encoded private key file.
key_file> (vide ou ~/.ssh/seedbox_key)

Option key_file_pass.
The passphrase to decrypt the PEM-encoded private key file.
key_file_pass> (vide)

Option pubkey_file.
Optional path to public key file.
pubkey_file> (vide)

Option key_use_agent.
When set forces the usage of the ssh-agent.
key_use_agent> false

Option use_insecure_cipher.
Enable the use of insecure ciphers and key exchange methods.
use_insecure_cipher> false

Option disable_hashcheck.
Disable the execution of SSH commands to determine if remote file hashing is available.
disable_hashcheck> true

Edit advanced config?
y) Yes
n) No (default)
y/n> n

Configuration complete.
Options:
- type: sftp
- host: ds-1234.seedbox.io
- user: user1234
- port: 22
- pass: *** ENCRYPTED ***
Keep this "seedbox" remote?
y/e/d> y

Current remotes:
Name                 Type
====                 ====
seedbox              sftp

e) Edit existing remote
n) New remote
d) Delete remote
q) Quit config
e/n/d/q> q

Notes importantes sur certaines questions :

  • disable_hashcheck → true : la plupart des seedboxes n'ont pas md5sum/sha1sum exposés aux utilisateurs. Laisser à true évite des warnings.
  • key_file : si vous avez généré une clé SSH à l'étape 3, mettez le chemin complet (/root/.ssh/seedbox_key). Sinon laissez vide et utilisez le password.
  • key_use_agent : false sur un NAS (pas d'agent qui tourne), true si vous êtes sur une machine dev avec ssh-agent.

Premier test : lister les dossiers de la seedbox

Une fois la config validée, testez avec :

rclone lsd seedbox:

# Sortie attendue :
          -1 2026-04-18 14:32:00        -1 downloads
          -1 2026-04-15 09:10:00        -1 rutorrent
          -1 2026-04-10 22:01:00        -1 watch

# Et pour voir dans downloads/
rclone lsd seedbox:downloads

          -1 2026-04-20 02:15:00        -1 films
          -1 2026-04-19 18:44:00        -1 series
          -1 2026-04-18 11:30:00        -1 musique

Si vous voyez bien vos dossiers, c'est gagné. La config est enregistrée dans ~/.config/rclone/rclone.conf et sera réutilisée pour toutes les prochaines commandes.

Config non interactive (si vous préférez éditer directement) : créez ~/.config/rclone/rclone.conf avec :

[seedbox]
type = sftp
host = ds-1234.seedbox.io
user = user1234
port = 22
pass = {password chiffré par rclone obscure}
key_file = /root/.ssh/seedbox_key
disable_hashcheck = true
shell_type = unix

Le password stocké doit être passé dans rclone obscure "monmotdepasse" (sinon rclone hurlera). Si vous utilisez la clé SSH, vous pouvez laisser pass vide. Test : rclone lsd seedbox:. Pour les perfs : --sftp-concurrency 64 dans les flags run-time (par défaut 1, ce qui est lent sur gros dirs).

Où est stockée la config ? Par défaut dans ~/.config/rclone/rclone.conf (Linux/NAS) ou %APPDATA%\rclone\rclone.conf (Windows). Vous pouvez forcer un autre chemin avec --config /chemin/custom.conf. Sauvegardez ce fichier, c'est lui qui contient toute votre config chiffrée.

Chiffrer l'ensemble de la config : option s) Set configuration password dans le wizard. Ajoute une passphrase pour décrypter le fichier de config. Utile si vous craignez que quelqu'un accède à votre NAS. Attention, si vous perdez la passphrase, il faudra tout refaire.

6

🚀 Premier rapatriement manuel (test)

Avant d'automatiser, faisons un rapatriement manuel pour valider que la chaîne fonctionne. On va télécharger le contenu du dossier films de la seedbox vers /volume1/data/films du NAS.

La commande de rapatriement :

rclone copy seedbox:downloads/films /volume1/data/films \
  --progress \
  --transfers 4 \
  --bwlimit 8M

Décortiquons ce qu'elle fait, bout par bout :

  • rclone copy : copie les fichiers de la source vers la destination. Ne supprime pas les fichiers sur la seedbox (contrairement à rclone move). Parfait pour rapatrier sans perdre le seed.
  • seedbox:downloads/films : la source. seedbox: est le nom qu'on a donné au remote à l'étape 5, suivi du chemin distant.
  • /volume1/data/films : la destination locale sur le NAS.
  • --progress : affiche la progression en direct (fichiers en cours, vitesse, ETA).
  • --transfers 4 : télécharge 4 fichiers en parallèle. Bon compromis vitesse/charge.
  • --bwlimit 8M : limite à 8 Mo/s (64 Mbps). Ajustez selon votre fibre : 8M pour 100 Mbps, 25M pour 300 Mbps, etc.

Voici à quoi ressemble la sortie quand ça tourne :

Sortie de rclone copy --progress :

Transferred:       12.384 GiB / 24.120 GiB, 51%, 7.98 MiB/s, ETA 25m3s
Transferred:          12 / 28, 43%
Elapsed time:      15m42.4s
Transferring:
 *                          Film.A.2026.2160p.UHD.mkv: 78% /18.214Gi, 8.0Mi/s, 16m22s
 *                          Film.B.2026.1080p.BluRay.mkv: 45% /6.102Gi, 7.9Mi/s, 7m8s
 *                          Film.C.2026.4K.HDR.mkv: 12% /22.550Gi, 8.0Mi/s, 41m19s
 *                          Film.D.2026.WEB-DL.mkv:  3% /4.812Gi, 7.9Mi/s, 10m3s

Une fois terminé, vérifiez que les fichiers sont bien arrivés :

ls -lh /volume1/data/films

# Sortie :
-rw-rw-r-- 1 admin users  18G Apr 20 02:45 Film.A.2026.2160p.UHD.mkv
-rw-rw-r-- 1 admin users 6.1G Apr 20 02:45 Film.B.2026.1080p.BluRay.mkv
-rw-rw-r-- 1 admin users  22G Apr 20 02:50 Film.C.2026.4K.HDR.mkv
-rw-rw-r-- 1 admin users 4.8G Apr 20 02:32 Film.D.2026.WEB-DL.mkv

Côté Plex : lancer un scan

Plex détecte automatiquement les nouveaux fichiers si l'option "Mettre à jour automatiquement ma bibliothèque" est activée (Paramètres → Bibliothèque). Sinon, forcez un scan manuel :

  1. Ouvrez l'interface Plex (http://IP-NAS:32400/web)
  2. Survolez votre bibliothèque "Films" dans la sidebar
  3. Cliquez sur les trois points ⋯ → Analyser les fichiers de la bibliothèque
  4. Les nouveaux films apparaissent en 30 secondes à deux minutes selon la taille de la bibliothèque

À ce stade : vous avez un rapatriement manuel fonctionnel. La seedbox télécharge, vous lancez la commande rclone quand vous en avez envie, Plex voit les fichiers. L'étape suivante est d'automatiser pour ne plus avoir à toucher à rien.

Commande canonique : rclone copy seedbox:downloads/films /volume1/data/films --progress --transfers 4 --bwlimit 8M. Pour tuner : --sftp-concurrency 64 (boost le listing des gros dirs), --multi-thread-streams 4 (parallélise sur un seul gros fichier), --retries 5 --retries-sleep 30s (robustesse réseau). rclone copy = idempotent (ne re-DL pas ce qui est déjà là), rclone sync = miroir strict (supprime localement ce qui n'est plus sur la source, dangereux). Restez sur copy.

Quel --bwlimit mettre ? Règle de poche : mettez 70-80% de votre débit descendant réel, pas théorique. Fibre annoncée 1 Gbps mais mesurée à 600 Mbps en vrai → --bwlimit 60M. Si vous saturez, votre navigation/jeu/visio souffre (bufferbloat).

Pourquoi pas rclone move à la place ? move supprime les fichiers de la source après copie. Sur une seedbox, ça tue votre ratio : plus de fichiers = plus de seed = ratio qui stagne puis baisse. Restez sur copy et laissez tourner le seed côté seedbox.

7

🤖 Automatiser avec un script + cron

Le but maintenant : que tout se fasse tout seul, 24h/24. On va écrire un script bash qui lance rclone pour films et séries, puis le planifier toutes les quinze minutes via DSM.

Le script bash

Créez le fichier /volume1/scripts/seedbox-pull.sh avec le contenu suivant :

/volume1/scripts/seedbox-pull.sh :

#!/bin/bash

# ========= Config =========
RCLONE=/usr/local/bin/rclone
LOG_DIR=/volume1/logs
LOCK=/tmp/seedbox-pull.lock

# ========= Anti-chevauchement =========
# Si une instance tourne déjà, on quitte (évite de doubler la conso CPU/réseau)
if [ -f "$LOCK" ]; then
  echo "$(date): déjà en cours, skip"
  exit 0
fi
touch "$LOCK"
trap "rm -f $LOCK" EXIT

# ========= Rapatriement FILMS =========
$RCLONE copy seedbox:downloads/films /volume1/data/films \
  --bwlimit 12M \
  --transfers 4 \
  --min-age 2m \
  --log-file $LOG_DIR/rclone-films.log \
  --log-level INFO

# ========= Rapatriement SÉRIES =========
$RCLONE copy seedbox:downloads/series /volume1/data/series \
  --bwlimit 12M \
  --transfers 4 \
  --min-age 2m \
  --log-file $LOG_DIR/rclone-series.log \
  --log-level INFO

echo "$(date): terminé" >> $LOG_DIR/seedbox-pull.log

Décortication des options clés :

  • --min-age 2m : ne rapatrie que les fichiers stables depuis au moins deux minutes. Évite de chopper un fichier en cours d'écriture côté seedbox (qBittorrent/rutorrent en train d'y coller des morceaux).
  • --log-file + --log-level INFO : toutes les opérations sont tracées dans un fichier. Pratique pour debug quand quelque chose cloche.
  • Le lock file (/tmp/seedbox-pull.lock) : empêche deux instances de tourner en même temps. Si un rapatriement de deux heures est en cours et que cron relance le script quinze minutes plus tard, il verra le lock et skipera.

Rendez le script exécutable :

chmod +x /volume1/scripts/seedbox-pull.sh

# Test en manuel
/volume1/scripts/seedbox-pull.sh

# Vérifier les logs
tail -f /volume1/logs/rclone-films.log

Planifier via le Planificateur de tâches DSM

DSM a un planificateur graphique qui remplace avantageusement crontab. Voici comment ajouter le script :

  1. DSM → Panneau de configuration → Planificateur de tâches
  2. Créer → Tâche planifiée → Script défini par l'utilisateur
  3. Onglet Général : Nom = "Rapatriement seedbox", Utilisateur = root
  4. Onglet Programmation : Date = Quotidienne, Heure = "Toutes les 15 minutes", Première heure 00:00, Dernière 23:45
  5. Onglet Paramètres de tâche : Commande = /volume1/scripts/seedbox-pull.sh
  6. Cochez "Envoyer les détails d'exécution" si vous voulez les mails d'erreur
  7. Validez

Planificateur de tâches DSM → Configuration :

Nom de la tâche Rapatriement seedbox
Utilisateur root
Date Quotidienne
Fréquence Toutes les 15 minutes
Commande /volume1/scripts/seedbox-pull.sh
État ● Activé
✓ 96 exécutions par jour, protégées par le lock file. Les 15 min sont un bon compromis latence/charge.

Et voilà : votre seedbox télécharge, et toutes les quinze minutes, votre NAS va voir ce qui est nouveau et le rapatrie. Plex scanne automatiquement (si activé) et vos nouveaux médias apparaissent sur la TV.

Pour un cron natif (si vous tournez sans DSM) :

# crontab -e
*/15 * * * * /volume1/scripts/seedbox-pull.sh >/dev/null 2>&1

# Alternative systemd.timer (plus propre sur Linux moderne)
# /etc/systemd/system/seedbox-pull.timer
[Unit]
Description=Pull seedbox every 15 minutes

[Timer]
OnCalendar=*:0/15
Persistent=true

[Install]
WantedBy=timers.target

Anti-chevauchement : lock file basique (flock plus robuste), ou --bwlimit dynamique si vous ne voulez pas de lock et laissez tourner en parallèle. --min-age 2m essentiel : évite de chopper un fichier en cours d'écriture par le client torrent. Pour les files incomplets côté client, la plupart ont une extension .part ou .!qB qu'on filtre avec --exclude "*.!qB".

Pourquoi quinze minutes et pas cinq ou 60 ? 15 min = compromis qui marche. Moins fréquent (60 min), un film DL à 00:05 ne sera visible qu'à 01:00 → frustrant. Plus fréquent (5 min), vous pollution les logs et stressez la seedbox avec des connexions SFTP pour rien. 15 min couvre 99% des besoins familiaux.

Et si le NAS est éteint la nuit ? Pas grave, le cron reprend au démarrage. Comme rclone est idempotent, il rattrape tout ce qu'il a loupé au prochain cycle. Aucune donnée n'est perdue tant que la seedbox garde les fichiers.

8

✅ Bonnes pratiques + vérifications

Le setup de base fonctionne. Voici maintenant les raffinements qui font la différence entre un tuto et une installation pro qui tient dans le temps.

1. Bandwidth scheduling : illimité la nuit, bridé en journée

Si votre famille utilise la fibre en journée (télétravail, visio, Netflix…), limitez le rapatriement. La nuit, profitez de toute la bande passante. rclone gère ça nativement :

Programmation horaire de la bande passante :

# Dans le script, remplacer --bwlimit 12M par :
--bwlimit "08:00,5M 18:00,3M 22:00,off"

# Lecture de la règle :
#   08:00 → 5 Mo/s (début de journée)
#   18:00 → 3 Mo/s (heures de pointe, visio/Netflix)
#   22:00 → off (illimité, tout le monde dort)

# Ou version weekend (moins strict la journée) :
--bwlimit "Mon-Fri 08:00,5M Mon-Fri 22:00,off Sat-Sun 00:00,off"

2. Hardlink-friendly (si vous utilisez Sonarr/Radarr)

Si vous combinez Plex avec la stack *arr (Sonarr pour les séries, Radarr pour les films), Sonarr/Radarr veulent renommer et déplacer les fichiers. Pour que rclone suive les renommages sans re-télécharger, ajoutez :

# Ajout dans le script, après --transfers 4 :
  --track-renames \
  --track-renames-strategy modtime,size

# rclone détecte les fichiers renommés via (modtime + taille)
# et fait un simple server-side rename au lieu de re-télécharger.
# Économie potentielle : plusieurs dizaines de Go par semaine.

3. Surveiller les logs

Quand ça tourne depuis des semaines, vous voulez vérifier qu'il n'y a pas de silent failure. Quelques commandes utiles :

# Voir les erreurs récentes
grep -i "error\|fail" /volume1/logs/rclone-films.log | tail -20

# Voir l'activité des dernières 24h
tail -500 /volume1/logs/rclone-films.log | grep "Copied"

# Stats globales (combien transféré ce mois)
grep "Transferred:" /volume1/logs/rclone-films.log | tail -10

4. Notifications Discord/email en cas d'erreur

Optionnel mais sympa : une alerte dès qu'un rapatriement échoue. Exemple avec un webhook Discord :

# À ajouter à la fin du script seedbox-pull.sh
WEBHOOK="https://discord.com/api/webhooks/VOTRE_URL"

if grep -q "ERROR" /volume1/logs/rclone-films.log; then
  MSG=$(grep "ERROR" /volume1/logs/rclone-films.log | tail -5 | sed 's/"/\\"/g')
  curl -H "Content-Type: application/json" \
    -d "{\"content\":\"Erreur rapatriement seedbox:\\n\`\`\`$MSG\`\`\`\"}" \
    "$WEBHOOK"
fi

5. Sécurité : ne JAMAIS coder le password en dur

Dans tout ce que vous écrivez, le password de la seedbox ne doit jamais apparaître en clair dans un script. rclone le stocke chiffré dans ~/.config/rclone/rclone.conf, c'est parfait. Protégez ce fichier :

# Perms strictes sur le fichier de config
chmod 600 ~/.config/rclone/rclone.conf

# Vérifier qu'aucun autre user ne peut lire
ls -l ~/.config/rclone/rclone.conf
# Doit afficher : -rw------- 1 root root ...

6. Vérifier que Plex voit les nouveaux fichiers

Ouvrez Plex et checkez. Si les films n'apparaissent pas spontanément, allez dans Paramètres → Bibliothèque et cochez "Mettre à jour automatiquement ma bibliothèque" + "Exécuter une analyse partielle quand les changements sont détectés". Plex surveillera le dossier en permanence via inotify.

🎉

Votre pipeline seedbox → NAS → Plex est opérationnel

Rapatriement auto toutes les 15 min, bande passante planifiée, logs surveillés, Plex qui indexe en temps réel. Vous pouvez lancer le téléchargement d'une série complète depuis votre téléphone, et la regarder le soir même sur la TV.

Checklist post-setup :

  • --bwlimit "HH:MM,X HH:MM,off" pour scheduling horaire
  • --track-renames --track-renames-strategy modtime,size pour Sonarr/Radarr compat
  • --exclude "*.!qB" --exclude "*.part" pour skipper les fichiers en cours
  • Logs rotate via logrotate ou --log-format date,microseconds + cleanup mensuel
  • chmod 600 rclone.conf obligatoire (config contient pass chiffré, mais on ne laisse rien au hasard)
  • Webhook Discord/Gotify/ntfy sur erreur parse des logs
  • Monitoring : rclone rc core/stats via API si vous tournez rclone rcd en daemon
  • Scan Plex auto via inotify (watch on folder) : Settings → Library → Scan my library automatically + Run a partial scan when changes are detected

Pour aller plus loin : stack rclone + mergerfs + Plex avec tier de cache local SSD pour accès instantané aux médias récents, et HDD/cloud pour la masse. Setup complexe mais imbattable en perfs.

Que faire si ça tourne mais Plex ne voit rien ? 99% du temps, c'est un problème de permissions. Plex tourne avec un utilisateur précis (souvent plex ou l'user Docker), et si vos fichiers rapatriés ont des perms trop strictes, Plex ne peut pas les lire. Testez : sudo -u plex ls /volume1/data/films. S'il y a des "Permission denied", ajustez avec chmod -R 775 et chown -R admin:users.

Et si la seedbox a du HTTPS au lieu de SFTP ? Certaines seedboxes exposent aussi du HTTPS/WebDAV. rclone gère ça aussi (backends http et webdav). C'est parfois plus rapide que SFTP car moins d'overhead de chiffrement. À tester sur votre fournisseur.

Et pour le backup ? Un NAS ne remplace pas un backup. Si vos données importantes passent par là (pas juste du contenu re-téléchargeable), pensez à un rclone supplémentaire vers un stockage cloud chiffré (Backblaze B2, Wasabi) pour les irremplaçables.

🤝
Besoin d'un coup de main ?

Je peux vous aider à configurer tout ça à distance. Petit forfait ou au chapeau, on s'arrange.

Me contacter