• Seedbox
  • Rclone, comment monter son DRIVE pour optimiser PLEX

Bonjour à tous.

Je suis a la recherche de la bonne méthode de montage de Google Drive avec rclone pour optimiser plex.
En effet, je trouve que mon plex commence a être plutôt lent dans les scans et recherche de metadata.

Je monte actuellement de cette manière :

[GDRIVE]
type = drive
scope = drive
token = blablabla
team_drive = blablabla

[GDRIVE_ENCRYPT_FILMS]
type = crypt
remote = GDRIVE:01_FILMS_ENCRYPT
filename_encryption = standard
directory_name_encryption = true
password = mdp_de_grand_malade
password2 = mdp_de_grand_malade

[GDRIVE_ENCRYPT_SERIES]
type = crypt
remote = GDRIVE:02_SERIES_ENCRYPT
filename_encryption = standard
directory_name_encryption = true
password = mdp_de_grand_malade
password2 = mdp_de_grand_malade

Puis :

rclone mount GDRIVE_ENCRYPT_FILMS: /mnt/gdrive_encrypt/gdrive_encrypt_films -v --allow-other --allow-non-empty --no-modtime &
rclone mount GDRIVE_ENCRYPT_SERIES: /mnt/gdrive_encrypt/gdrive_encrypt_series -v --allow-other --allow-non-empty --no-modtime &

Ma question, faut-il que je passe par un "cache" pour une plus grande fluidité pour la syncro avec plex ?
Si oui, est-il préférable de passer via "drive -> cache -> crypt" et de monter mon "crypt" de la meme maniere ?
En bref, il serait interessant de voir nos configs rclone pour comparer les performances et trouver le meilleur rapport fluidité/sécurité/anti-ban.

Merci d'avance 😉

CLusmi a renommé le titre en Rclone, comment monter son DRIVE pour optimiser PLEX ?.

Salut, je passe par PlexDrive => https://github.com/dweidenfeld/plexdrive/blob/master/TUTORIAL.md
Ça te donne un rclone.conf de ce genre

[gdrive]
type = drive
client_id = 
client_secret = 
token = {"access_token":"xxx"}

[gcrypt]
type = crypt
remote = gdrive:/Enc
filename_encryption = standard
password = aaa
password2 = bbb

[crypt]
type = crypt
remote = /home/aerya/mnt/plexdrive/
filename_encryption = standard
directory_name_encryption = true
password = ccc
password2 = ddd

Et ensuite rClone et PlexDrive sont tous les deux montés dans /unionfs où tout arrive et tout est lu.

Les scripts
rclone-encrypt.sh

#!/bin/bash
rclone --uid=1000 --gid=1000 --allow-non-empty --allow-other mount crypt: /home/aerya/mnt/encrypt --size-only

rclone-en.sh

#!/bin/bash
rclone --uid=1000 --gid=1000 --allow-non-empty --allow-other mount gcrypt: /home/aerya/mnt/.gcrypt --size-only

rclone.sh

#!/bin/bash
rclone --uid=1000 --gid=1000 --allow-non-empty --allow-other mount gdrive: /home/aerya/mnt/gdrive --size-only

Les services
move-en.service

[Unit]
Description=Move Service Daemon
After=multi-user.target

[Service]
Type=simple
User=0
Group=0
ExecStart=/bin/bash /home/aerya/scripts/move-en.sh
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

plexdrive.service

[Unit]
Description=PlexDrive5 Service
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/plexdrive mount --uid=1000 --gid=1000 -v 5 --fuse-options=allow_other,read_only,allow_non_empty_mount --config=/root/.plexdrive --cache-file=/root/.plexdrive/cache.bolt /home/aerya/mnt/plexdrive
ExecStop=/bin/fusermount -uz /home/aerya/mnt/plexdrive
RemainAfterExit=yes
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

rclone-encrypt.service

[Unit]
Description=RClone Daemon
After=multi-user.target

[Service]
Type=simple
User=0
Group=0
ExecStart=/bin/bash /home/aerya/scripts/rclone-encrypt.sh
ExecStop=/bin/fusermount -uz /home/aerya/mnt/encrypt
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

rclone-en.service

[Unit]
Description=RClone Daemon
After=multi-user.target

[Service]
Type=simple
User=0
Group=0
ExecStart=/bin/bash /home/aerya/scripts/rclone-en.sh
ExecStop=/bin/fusermount -uz /home/aerya/mnt/.gcrypt
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

rclone.service

[Unit]
Description=RClone Daemon
After=multi-user.target

[Service]
Type=simple
User=0
Group=0
ExecStart=/bin/bash /home/aerya/scripts/rclone.sh
ExecStop=/bin/fusermount -uz /home/aerya/mnt/gdrive
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

unionfs-encrypt.service

[Unit]
Description=UnionFS Daemon
Requires=plexdrive.service
After=multi-user.target plexdrive.service

[Service]
Type=simple
User=0
Group=0
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/unionfs -o cow,allow_other,nonempty /home/aerya/mnt/move=RW:/home/aerya/mnt/encrypt=RO /home/aerya/mnt/unionfs
ExecStop=/bin/fusermount -uz /home/aerya/mnt/unionfs
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

unionfs.service

[Unit]
Description=UnionFS Daemon
Requires=plexdrive.service
After=multi-user.target plexdrive.service
RequiresMountsFor=/home/aerya/mnt/plexdrive

[Service]
Type=simple
User=0
Group=0
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/unionfs -o cow,allow_other,nonempty /home/aerya/mnt/move=RW:/home/aerya/mnt/plexdrive=RO /home/aerya/mnt/unionfs
ExecStop=/bin/fusermount -uz /home/aerya/mnt/unionfs
TimeoutStopSec=20
KillMode=process
RemainAfterExit=yes
Restart=always

[Install]
WantedBy=multi-user.target

    Aerya Merci je vais regarder ce que je peux faire. Ça va pouvoir me donner un exemple de la maniere a faire 🙂

    J'ai détaillé un peu plus mon setup dans le dernier article sur mon blog.

    Je vais m'empresser d'aller le lire 😃

    5 mois plus tard

    @Aerya par hasard, tu sais nous dire si le cache rclone est obligatoire à l'usage ? Si cela fait vraiment une différence de temps de chargement et d'accès ?

    spider1163 a renommé le titre en Rclone, comment monter son DRIVE pour optimiser PLEX.

    Bonjour,

    Je n'ai pas essayé rclone cache mais je passe pas mal de temps sur le forum rclone. Bien que le développement de plexdrive soit stoppé depuis 2 ans, il semblerait que rclone cache n'arrive toujours pas à égaler les performances de plexdrive en streaming

      laster13
      Perso j'ai la même config que notre collègue du premier post. Donc je m'interroge si je dois optimiser mon paramétrage ou non. De ton côté, tu utilises uniquement rclone avec un encryptage des données ? J'ai pu tester hier sur un fichier et j'ai quand même attendu 7-10secs avant le lancement du streaming de la video sur plex. Et Quid de la charge serveur nécessaire ? Je suis sur un i3 actuellement. Il y a un minimum requis en terme de performance pour decrypt via un gdrive monté ?

      Difficile à dire car le temps de chargement dépend effectivement du passmark du processeur, de ta connexion (ADSL ou Fibre), si tu transcodes ou lecture directe auquel cas le démarrage est plus rapide.

      En ce qui me concerne j'ai la même config que @Aerya avec plexdrive et mergerfs. Je suis fibré et dispose d'un hetzner I4770 32 gigas (Passmark 9800).

      En moyenne le temps de chargement est d'environ 3s mais je suis quasiment toujours en lecture directe. J'ajoute que mes données sont chiffrées et je dispose d'une bibliothèque de 20 Tera (je pense que le volume de la base de donnée joue aussi sur le temps + ou - long de chargement sachant qu'avec sqlite on peut optimiser celle ci).

      Edit: rclone demande pas mal de ressources processeurs notamment lorsqu'il s'agit d'envoyer les données sur le drive, donc effectivement pour être confortable il vaut mieux partir sur une machine relativement puissante.

      La gestion du cache, que ce soit via PlexDrive ou rClone Cache, n'a pas pour vocation de limiter le lag entre Google et le serveur mais d'empêcher le risque de bannissement (24h) de Google pour abus de requêtes. Ça ne peut pas arriver en lisant un fichier mais tout simplement en les scannant via les applications "classiques" que sont Plex/Jellyfin/Kodi, Sonarr/Radarr etc. D'où également l'apparition de PlexAutoScan (que je n'utilise pas) qui limite les scannes complets de Plex.

      Répondre…