Ce tutoriel est compatible avec un serveur dédié/virtuel « vierge » ou déjà installé « à la main » ou en Docker (ou via un script). Même avec un rClone déjà installé & configuré puisque nous allons simplement créer de nouveaux remotes.
Google vient tout récemment de faire évoluer son offre GSuite vers Workspace. Ceux ayant un abonnement GSuite ont pu/peuvent le faire évoluer pour continuer à disposer d’un espace de stockage illimité GDrive. Pour les nouveaux clients cette option, disponible via un compte Entreprise, n’est plus directement accessible. Reste donc la solution de passer par un compte Business Standard. En effet, si cet abonnement n’inclut qu’un GDrive de 2To/utilisateur, il permet en revanche la création d’un Drive partagé. C’est ce que nous allons créer et mettre en œuvre.

Je vais aborder dans ce tutoriel la souscription d’un compte Workspace, la création d’un Drive partagé et son montage chiffré via rClone. De cette manière vous pouvez vous en servir sur un serveur qui serait déjà installé ou comme base pour une nouvelle infra. C’est tout nouveau pour moi, je recommence à 0 en passant par ce nouveau service et un Drive partagé.
- Souscrire une offre (14 jours d’essais)
- Créer un Drive partagé
- Créer le client_id pour rClone
- Installer et configurer rClone (et le chiffrement du team drive)
- Monter le Drive chiffré avec rClone cache
- Suggestion de script pour déplacer/copier vos données sur votre Drive partagé (article suivant)
Souscrire à l’offre
Il faut un e-mail, un nom de domaine et une carte bancaire ou un compte bancaire ou PayPal. Souscrire à l’offre Business Standard à 10.40€ (comme les anciennes offres GSuite). Pour « fêter » le passage à Workspace l’offre est à 9.36€/mois/utilisateur (dans la limite de 20/groupe) pendant 1 an : La remise de 10 % s’applique chaque mois sur les 20 premiers comptes utilisateur, et ce jusqu’au 28 octobre 2021.
Je souscris pour moi seul et je suis sur VPN comme ça se voit…

Je suis du genre à utiliser un faux nom. En revanche il faut un e-mail valide évidemment.

Et je possède déjà un nom de domaine que je vais utiliser.



J’utilise une autre adresse e-mail comme demandée.

Non. Merci.

Il faut définir son login:pwd. Pour le login il faut que ce soit @votredomaineutilisé.com. Bien entendu je n’ai pas créé d’adresse [email protected], c’est juste un login pour Workspace.

On peut maintenant se connecter à son espace de gestion.

Évidemment…


On peut vérifier qu’on ne s’est trompé d’offre.

Je vais utiliser un de mes comptes PayPal.

Et voilou :)

Reste à terminer la configuration du compte Workspace.

Je continue avec la validation TXT. Ouvrez un onglet de votre navigateur et allez chez votre registrar, là où vous gérez votre nom de domaine (Cloudflare dans le cas upandclear.org).

Normalement y’a qu’à suivre ce que Google indique.

Voici ce que ça donne chez Cloudflare.

Ensuite de retour chez Google vous validez et laissez couler…

Et au bout de quelques minutes c’est validé. Je ne compte pas m’intéresser au reste vu que je veux utiliser ce compte seul. Pour rappel, chaque utilisateur est payant.

En cliquant en haut à gauche on a le menu de votre Workspace.

Je recommande de valider les conditions d’utilisation. Pour ça on va dans le menu puis @ compte et Paramètres du compte. Là on voit que nous avons 3 conditions d’utilisation en attente. Sur le screen il n’y en a que 2, j’ai déjà testé ^^


Logiquement on répond Non à la dernière, qui reste donc « refusée » et en attente.

Toujours dans ce menu, on peut jeter un œil à l’abonnement en cours via Facturation / Abonnements.
Pour ceux qui avaient déjà une offre GSuite, comme moi, c’est là qu’il fallait/faut aller pour upgrader son offre vers une nouvelle. Bien que ce ne soit pas le en rapport avec cet article, j’ai fait le choix de l’upgrade Entreprise Standard qui offre un GDrive illimité de base et pour un seul utilisateur (à ce qu’il semble pour l’instant). Bref.


On s’intéresse maintenant au menu en haut à droite.

Ici on se moque du Drive, qui est officiellement limité à 2To/utilisateur. Et j’ai pas encore parcouru les forums (rClone, Reddit) pour savoir si comme sur GSuite on peut outre-passer cette limite. On va plutôt créer un Drive partagé.


J’ai créé un Drive partagé que je nomme SDrive0.

Il n’est accessible que par moi-même mais on peut y ajouter des membres via des e-mails. Soit des utilisateurs, payants, de mon Workspace soit des amis. On peut aussi ajouter des Service Accounts (SA) pour passer outre la limite de 750G B d’upload/utilisateur/24h sur Google. Mais je n’aborderai pas ça dans cet article.
Créer le client_id pour rClone
On va en avoir besoin juste après :)
Le client_id est ce que Google verra dans ses logs de connexion concernant notre outil rClone. Il est donc fortement recommandé d’en créer un personnel et unique afin d’éviter le ban généralisé pour abus de requêtes si on utilisait tous le même code.
Pour ça il suffit de suivre les indications.
Quand on arrive sur notre console Google il faut accepter les conditions puis se créer un nouveau projet. Pour faire simple je le nomme SDrive0.


Une fois le projet créé Google nous dit qu’il n’y a aucune API d’activée. Ça tombe, il faut qu’on aille activer celle de GDrive.



Google nous dit que nous n’avons pas d’identifiant. Pour en créer : Identifiants puis créer puis ID client

Sélectionner Application de bureau et lui donner un nom

On a tout ce qu’il faut pour aller jouer avec rClone :)
Installer et configurer rClone
Pour ce tutoriel je monte un CT sur mon Proxmox sous Ubuntu 20.04. Ça devrait être compatible Synology, soit via Docker si votre modèle le supporte, soit en dur. Lolvince avait testé avec succès la dernière fois. Je n’ai pas le temps de tester sur un de mes NAS pour l’instant.
Pour voir une version de rClone avec ses dernières options de gestion du cache je prends toujours la version BETA. Et donc je me contente de suivre les instructions :
curl https://rclone.org/install.sh | sudo bash -s beta
Ce qui donne sur mon serveur
[email protected]:~# curl https://rclone.org/install.sh | bash -s beta % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4436 100 4436 0 0 14127 0 --:--:-- --:--:-- --:--:-- 14127 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 35 100 35 0 0 126 0 --:--:-- --:--:-- --:--:-- 126 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12.3M 100 12.3M 0 0 4481k 0 0:00:02 0:00:02 --:--:-- 4480k Archive: rclone-beta-latest-linux-amd64.zip creating: rclone-v1.54.0-beta.4825.5b09599a2-linux-amd64/ ... ... rclone v1.54.0-beta.4825.5b09599a2 has successfully installed. Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.
On passe donc maintenant à la configuration de rClone avec notre Drive partagé, chiffré.
Comme c’est noté à la fin de l’installation de rClone, il faut faire
rclone config
Et on veut créer un remote : choix n. Et je vais très originalement l’appeler SDrive0
[email protected]:~# rclone config 2020/10/14 21:56:31 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> SDrive0
Ensuite il faut indiquer le type de stockage. On se dirige vers le choix 13 -au moment de cet article- soit Google Drive que nous pourrons « convertir » en Team Drive ensuite.
Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value ... ... Storage> 13 ** See help for drive backend at: https://rclone.org/drive/ **
Le client_id est celui qu’on vient de créer.

Google Application Client Id Setting your own is recommended. See https://rclone.org/drive/#making-your-own-client-id for how to create your own. If you leave this blank, it will use an internal key which is low performance. Enter a string value. Press Enter for the default (""). client_id> monclient_idpersonnelrienquàmoi
Et le secret également.
OAuth Client Secret Leave blank normally. Enter a string value. Press Enter for the default (""). client_secret> monsecretpersonnelrienquàmoi
On passe maintenant aux droits d’accès du drive. je fais simple, full ! Le 1er choix.
Scope that rclone should use when requesting access from drive. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Full access all files, excluding Application Data Folder. \ "drive" 2 / Read-only access to file metadata and file contents. \ "drive.readonly" / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ "drive.file" / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ "drive.appfolder" / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ "drive.metadata.readonly" scope> 1
Voulons-nous créer un dossier racine ? Concrètement, si le Drive doit servir pour rClone mais aussi un backup de documents personnels ça peut être intéressant de faire travailler rClone dans un dossier du genre « rclone » (ahaha ah. ah.) ou « cloud ». Comme ça on pourra se faire à côté, à la racine du Drive, des dossiers type « PC perso », « Documents Madame », « Documents papa » etc. Moi, je veux juste stocker des fichiers depuis mes serveurs, donc pas de dossier root, je ne mets rien.
ID of the root folder Leave blank normally. Fill in to access "Computers" folders (see docs), or for rclone to use a non root folder as its starting point. Enter a string value. Press Enter for the default (""). root_folder_id>
Je ne remplie pas non plus cette partie concernant les Service Accounts (SA) dont j’ai parlé brièvement plus haut. Je n’en ai pas besoin, pour l’instant, et il semble qu’un tutoriel se prépare sur Mondedie à ce sujet (faut harceler Mattprod :P).
Service Account Credentials JSON file path Leave blank normally. Needed only if you want use SA instead of interactive login. Leading `~` will be expanded in the file name as will environment variables such as `${RCLONE_CONFIG_DIR}`. Enter a string value. Press Enter for the default (""). service_account_file>
On arrête là : choix n.
Edit advanced config? (y/n) y) Yes n) No (default) y/n> n
On passe maintenant à la configuration du remote c’est-à-dire à la configuration de notre Drive partagé. Normalement on est tous sur serveur et donc en headless. Choix n.
Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes (default) n) No y/n> n
On doit donner l’accès à rClone à notre compte Google Workspace. Pour ça il suffit de copier/coller dans un navigateur le lien donné par rClone, de suivre les instructions et de donner à rClone en retour le code que nous file Google.
Please go to the following link: https://accounts.google.com/o/oauth2/auth?... Log in and authorize rclone for access Enter verification code>
On confirme l’accès

Et on donne à rClone le code d’autorisation en retour
Remote config Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes (default) n) No y/n> n Please go to the following link: https://accounts.google.com/o/oauth2/auth?.... Log in and authorize rclone for access Enter verification code> 4.....
Et nous arrivons enfin à la configuration de ce stockage en team drive : taper y
Configure this as a team drive? y) Yes n) No (default) y/n> y
Comme on est noob, y’a qu’un seul team drive… Pas trop difficile de le choisir.
Fetching team drive list... Choose a number from below, or type in your own value 1 / SDrive0 \ "xxxx" Enter a Team Drive ID> 1
Et hop! la configuration du team drive dans rClone est terminée :)
[SDrive0] type = drive client_id = aaa client_secret = bbb scope = drive token = {"access_token":ccc"} team_drive = ddd root_folder_id =
On valide et on quitte (pour l’instant).
y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== SDrive0 drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q
Le fichier de configuration se trouve dans /root/.config/rclone/rclone.conf. Et il est trèèèèèès trèèèèèèès très vivement conseiller de le copier, plusieurs fois, dans plein d’endroits (sûrs quand même). Parce que nous allons y ajouter une configuration de chiffrement et que si ce fichier est perdu alors nos données aussi ! Ce fichier contient les clés de chiffrement/déchiffrement.
Justement, chiffrons. J’en ai déjà parlé à l’époque de mon tutoriel sur rClone/Amazon Cloud mais pour moi il est impératif de chiffrer le contenu de ce que je mets sur Google pour le protéger. Et me protéger aussi accessoirement vu que comme Dropbox and co il scanne les contenus pour trouver les illégaux.
Donc on relance rClone avec rclone config. On voit notre remote tout récemment créé et on va pouvoir en ajouter un autre via la touche n. Histoire de faire simple je le nomme SDrive0Crypted. Comme ça si un jour je veux créer 15 Team Drives chiffrés, j’aurai SDrive0, SDrive0Crypted, SDrive1, SDrive1Crypted, SDrive2, SDrive2Crypted etc. Je sais. Je suis logique. Et surtout très créatif :)
[email protected]:~# rclone config Current remotes: Name Type ==== ==== SDrive0 drive e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n name> SDrive0Crypted
Cette fois-ci nous n’allons pas créer un lien avec Google ou Amazon ou autre mais chiffrer un remote, soit le choix 10.
Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 10 / Encrypt/Decrypt a remote \ "crypt" Storage> 10
Du coup on s’occupe de SDrive0: Avec les :
Remote to encrypt/decrypt. Normally should contain a ':' and a path, eg "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not recommended). Enter a string value. Press Enter for the default (""). remote> SDrive0:
Je recommande là encore de chiffrer
How to encrypt the filenames. Enter a string value. Press Enter for the default ("standard"). Choose a number from below, or type in your own value 1 / Encrypt the filenames see the docs for the details. \ "standard" 2 / Very simple filename obfuscation. \ "obfuscate" 3 / Don't encrypt the file names. Adds a ".bin" extension only. \ "off" filename_encryption> 1
Tout comme les noms des dossiers
Option to either encrypt directory names or leave them intact. NB If filename_encryption is "off" then this option will do nothing. Enter a boolean value (true or false). Press Enter for the default ("true"). Choose a number from below, or type in your own value 1 / Encrypt directory names. \ "true" 2 / Don't encrypt directory names, leave them intact. \ "false" directory_name_encryption> 1
On doit ensuite choisir un mot de passe pour le chiffrement (à retenir ou non, ça ne change pas grand chose si vous perdez le fichier de configuration de rClone…). Quand on tape on ne voit heureusement pas le mot de passe (y’a que sous Windows que ça arrive ce genre de truc :P Bam, gratos celle-ci !)
Password or pass phrase for encryption. y) Yes type in my own password g) Generate random password y/g> y Enter the password: password: Confirm the password: password:
Et rebelote pour le salt (hachage).
Password or pass phrase for salt. Optional but recommended. Should be different to the previous password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank (default) y/g/n> y Enter the password: password: Confirm the password: password:
Puis on peut quitter et valider ce remote. Et quitter ensuite rClone (avec q).
Edit advanced config? (y/n) y) Yes n) No (default) y/n> n Remote config -------------------- [SDrive0Crypted] type = crypt remote = SDrive0: filename_encryption = standard directory_name_encryption = true password = *** ENCRYPTED *** password2 = *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e) Edit this remote d) Delete this remote y/e/d> y
Monter le Drive chiffré avec rClone cache
Commencer par installer FUSE qui servira à monter un remote.
sudo apt-get install unionfs-fuse
Si, comme moi pour ce tutoriel, vous êtes sous Proxmox y’a une petite manip’ à faire pour Proxmox 5 ou Proxmox 6.
Bon. Monter son remote c’est bien mais faut savoir où le monter. Et là c’est du choix de chacun. Certains le montent dans /mnt/dossier moi j’ai toujours préféré monter ça dans mon /home. Je vais donc créer un dossier pour monter mon remote chiffré avec rClone.
mkdir /home/SDrive0Crypted
On va aussi se faire un fichier pour les logs de rClone
touch /home/rclonecache.log
Et on ajoute un service systemd de montage du remote chiffré via rClone. Avec son cache en options. Le cache de rClone peut remplacer Plexdrive. L’utilisation d’un cache est recommandée pour éviter de se faire bannir 24h par Google en faisant trop de requêtes (scans de Plex etc).
J’utilise le cache intégré à rClone depuis plusieurs mois, sans pépin, et certains disent que c’est mieux que Plexdrive pour Plex, notamment dans les avance rapides.
Voici le service à mettre dans /etc/systemd/system avec nano /etc/systemd/system/mount.service
[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 SDrive0Crypted: /home/SDrive0Crypted --allow-other --allow-non-empty --dir-cache-time 240h --log-level INFO --log-file /home/rclonecache.log --poll-interval 15s --umask 002 --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" --cache-dir=/cache --vfs-cache-mode full --vfs-cache-max-size 250G --vfs-cache-max-age 240h --bwlimit-file 16M --fast-list --drive-stop-on-upload-limit ExecStop=/bin/fusermount -uz /home/SDrive0Crypted Restart=on-failure [Install] WantedBy=multi-user.target
On lance ce service
systemctl start mount.service
Et on le rend exécutable à chaque lancement de la machine
systemctl enable mount.service
Puis on peut vérifier que notre remote est bien monté avec un df -H
[email protected]:/home# df -H Filesystem Size Used Avail Use% Mounted on /dev/mapper/pve-vm--100--disk--0 43G 872M 39G 3% / none 504k 0 504k 0% /dev udev 4.1G 0 4.1G 0% /dev/tty tmpfs 4.1G 0 4.1G 0% /dev/shm tmpfs 820M 91k 819M 1% /run tmpfs 5.3M 0 5.3M 0% /run/lock tmpfs 4.1G 0 4.1G 0% /sys/fs/cgroup SDrive0Crypted: 1.2P 0 1.2P 0% /home/SDrive0Crypted
Wow, 1.2Peta Octets de disponibles dans /home/SDrive0Crypted :)
Et si on testait ? On va créer un fichier bateau dans le montage et voir ce que ça donne.
touch /home/SDrive0Crypted/testfile.coucou
Je le vois bien dans mon dossier
[email protected]:/home/SDrive0Crypted# ls testfile.coucou
On regarde le log de rClone : cat /home/rclonecache.log
[email protected]drive:/home# cat rclonecache.log 2020/10/15 00:45:38 INFO : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0) 2020/10/15 00:46:38 INFO : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0) 2020/10/15 00:46:49 INFO : testfile.coucou: vfs cache: queuing for upload in 5s 2020/10/15 00:46:56 INFO : testfile.coucou: Copied (new) 2020/10/15 00:46:56 INFO : testfile.coucou: vfs cache: upload succeeded try #1 2020/10/15 00:47:38 INFO : vfs cache: cleaned: objects 1 (was 1) in use 0, to upload 0, uploading 0, total size 0 (was 0)
On voit que notre fichier a été uploadé sur le team drive. Vérifions…

Le fichier est bien là, chiffré :)
Voilou !
C’est de toute beauté ! Toujours au top !
Pour la partie SA, ca va pas tarder à venir :)
Merci :)
Tapé assez rapidement, je suis fatigué. Si vous trouvez des fôtes/coquilles faites-le moi savoir ;)
très beau travail, comme à ton habitude. Merci à toi
Merci :) ça met la pression à Mattprod pour terminer et poster son tutoriel plus complet :P
merci Beaucoup pour ce tutoriel en espérant que j’y arrive car je me pose quelques questions sur certains points
N’hésite pas si tu as des questions. Je dis pas que je saurai répondre à tout ni en 1 minute mais je regarderai ;)
Bravo à toi pour l’article
Merci
salut, ca fonctionne encore ?
Oui, toujours ;)
merci j’ai reussi a tout faire sauf que ca rame pas mal sur plex, le scan de plex n’est pas finit au bout d’une heure et quand je lance une serie ca prends bien 2 a 3 min pour se lancer, une idee ?
Le scan prend du temps selon la quantité de données dans tes bibliothèques. Si tu n’a que quelques 100aine de Go c’est bizarre en effet mais j’ai connu des gens qui avaient plus de 800To, ça prenait en effet plus de 24h. Pour ta série qui rame, il peut y avoir plein de raisons qui dépendent de ton setup, que… Lire la suite »