Skip to main content

Linux Unlimited Storage Folder using G Suite (Beta)

Building a simple folder on your Linux server with unlimited cloud storage behind it. I will explain the basic concepts used and some guidelines on how to make it all work.

Basic concept

You will have /mnt/gdrivemount

And /mnt/gdrivewrite

And then UnionFS to combine the two into /mnt/gdriveunionfs/

Now, because Google Cloud Drive API limits the amount of requests per seconds, it is suggested that you add a cache into path to help limit these requests, so the /mnt/gdrivemount changes to

To be able to control what and when files are actually moved from your disk storage into the cloud storage, you will control the move to cloud process.

Services and Technologies Used

G Suite Business - ( )
Google Domains -
Google Drive -
Google Cloud Platform -
Rclone -
UnionFS -

G Suite Business

The Business subscription for US$10 or €8 /user/month says it will only provide 1Tb/user if less than 5 users in the account, but many users have reported this to be incorrect. many users are able to load >100Tb of data into this subscription.

(If you are a new subscription, please use this referral link and I will get a couple of coins for the referral at no additional cost to you.)

You will have to subscribe and activate a subscription, they should throw in a 14 days eval.

Google Cloud Platform

You will also have to activate the Google Cloud Drive API and get an Oath 2.0 Client ID to use with Rclone.

PS: This process will offer you some free credits with Google Cloud Platform. I suggest you do not activate this at this time. Do not waste the trial period if you are not going to use it at this time.

Google Drive vs Google Team Drive

Sharing a Google Drive folder with someone else, their contribution into this folder goes against their own storage limits if they fall outside the G Suite account. Sharing a Team Drive with someone else, anything contributed into the Team Drive stays in the G Suite account.


Rclone is the Rsync for the Cloud, but also has fuse mount and cache support. They also have a very strong encryption option, but the discussion about when of if to encrypt is for another post.

The Rclone setup process should now contain 2 remotes.
  1. Google Drive - This is the Google Drive or Google Team Drive information. Make sure you use the "API Client ID" and "API Client Secret" that you created in the Google Cloud Platform Console.
  2. Rclone Cache - Reference the remote name used for your Google Drive in 1. Just ignore and leave blank the Plex questions asked during the cache setup.


Unionsfs is available on most modern Linux distributions as an installable package. It takes values to then set the input folders and then the combined folder. During this you are able to set which is read-only and which is read-write.

Command samples

mkdir /mnt/gdrivemount
mkdir /mnt/gdrivewrite
mkdir /mnt/gdriveunionfs

rclone config create gdriveremote drive \
   --drive-client-id=X \

rclone config create gdrivecache cache \
   remote gdriveremote: \
   chunk_total_size 32G

rclone mount \
   -v --debug-fuse \
   --allow-other \
   --attr-timeout=1s \
   --buffer-size=500M \
   --bwlimit=10M \
   --checkers=16 \
   --dir-cache-time=60m \
   --drive-use-trash \
   --cache-chunk-size=10M \
   --cache-info-age=60m \
   --cache-tmp-wait-time 60m \
   --cache-workers=8 \
   --cache-writes \
   --no-modtime \
   --stats=0 \
   --umask 002 \
   gdrivecache:/ /mnt/gdrivemount

rclone move -v /mnt/gdrivewrite gdriveremote:

unionfs \
   -o cow,max_files=32768 \
   -o allow_other,use_ino,suid,dev,nonempty \
   /mnt/gdrivewrite=RW:/mnt/gdriveremote=RO \

fusermount -u /mnt/gdrivemount

Popular posts from this blog

Double Bunk in Caravan

With our family expanding, we faced a challenge of adding another berth in our caravan, but I did not want to make it permanent.
A couple of options are available, of which one is simply to add a bunk to the single berth. We however did not want to cause any permanent markings on the interior of the caravan .

Netdata + SNMP + Mikrotik

Always wanted to see my Internet line usage as a gauge without having to log into the router.
So today I configured SNMP in Netdata to collect from my Mikrotik router.
"enable_autodetect": false,
"update_every": 5,
"max_request_size": 100,
"servers": [
"hostname": "",
"community": "public",
"update_every": 5,
"max_request_size": 50,
"options": { "timeout": 20 },
"charts": {
"mikrotik1.cpu": {
"title": "CPU ",
"units": "percentage",
"type": "line",
"family": "cpu",
"dimensions": {
"used": {

CasparCG Simple Playlist

It is possible to build a simple playlist as a rundown in the CasparCG client. It will very simply play each item after each other that are on the same layer. In this very simple post I show how to build such a playlist including the very important step of activating the OSC.

The Open Sound Control (OSC) implementation is how the client knows what the server is doing and then being able to send new command back to the server when a piece of media has ended to trigger playback of the next piece. For more details on the OCS, please see