rClone : utilisation de son cache au lieu de PlexDrive

cache 27 sept. 2020

J’ai récemment remanié mon infrastructure et ce fut l’occasion de me passer définitivement du cache PlexDrive pour celui de rClone qui est suffisamment mature.

Par ailleurs j’en ai aussi profité pour passer à mergerfs au lieu de fusefs pour le dossier /unionfs qui rassemble à la fois le cache (déchiffré) de rClone et les fichiers locaux.

Voici mes fichiers de configuration.

rclonemount.service (donc avec le cache de rClone)

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

[Service]
Type=notify
Environment=RCLONE_CONFIG=/root/.config/rclone/rclone.conf
KillMode=none
RestartSec=5
ExecStart=/usr/bin/rclone mount gcrypt: /home/aerya/mnt/gdrive --allow-other --allow-non-empty --dir-cache-time 1000h --log-level INFO --rc --rc-addr :5572 --rc-no-auth --log-file /home/aerya/logs/rclone.log --poll-interval 15s --umask 002 --user-agent unnomaupif --cache-dir=/cache --vfs-cache-mode full --vfs-cache-max-size 200G --vfs-cache-max-age 336h --bwlimit-file 16M
ExecStop=/bin/fusermount -uz /home/aerya/mnt/gdrive
ExecStartPost=/usr/bin/rclone rc vfs/refresh recursive=true --rc-addr 0.0.0.0:5572 _async=true
Restart=on-failure

[Install]
WantedBy=multi-user.target

Pour les paramètres je suis évidemment basé sur le Wiki de rClone et les exemples/discussions de leurs forums.

Explication du cache complet : vfs-cache-mode full

mergerfs.service

[Unit]
Description=mergerfs mount
Requires=rclonemount.service
After=rclonemount.service

[Service]
Type=forking
ExecStart=/usr/bin/mergerfs /home/aerya/mnt/move:/home/aerya/mnt/gdrive /home/aerya/mnt/unionfs -o nonempty,rw,use_ino,allow_other,func.getattr=newest,category.action=all,category.create=ff
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

Au final je ne vois pas vraiment de différence avec unionfs ou PlexDrive. Plex et tous les outils ne remontent aucune difficulté. Je trouve ça plus simple de passer uniquement par rClone plutôt que d’ajouter/configurer PlexDrive.

Le seul bémol que j’ai relevé c’est que tout est envoyé sur le remote de rClone alors que passer par un script annexe me permettait de sélectionner les dossier à éventuellement exclure. J’ai donc veillé à ce que mes clients BitTorrent/Usenet ne déposent pas les fichiers de séries, qui sont à renommer/trier avant d’envoyer sur GDrive, dans le /unionfs.

Mots clés