G2S3 is a solution to regularly back up your Google data by copying it over to S3.
MIT License
G2S3 is a solution to regularly back up your Google data by copying it over to S3.
!!! Interested in a ready-to-use hosted version of this? Please >> sign up here << !!!
This is work in progress.
What's working:
What's not working yet:
There's also an accompanying blog post:
In Google Cloud Platform (GCP):
Build and run the retrieve-google-tokens
binary (TODO: add instructions)
CLIENT_ID
, CLIENT_SECRET
, and REFRESH_TOKEN
into new secret as key/value pairsChoose one of the following two options:
Option 1: Using a personal fork and your own Docker image:
On GitHub, fork this repository, enable GitHub Actions in your forked repository, and wait for the Action to successfully complete.
In your terminal, run:
git clone [email protected]:<GITHUB_USER>/g2s3.git
cd g2s3
Option 2: Using petergtz
repo and the associated Docker image:
In your terminal, run:
git clone https://github.com/petergtz/g2s3.git
cd g2s3
To configure your backup setup:
In your terminal, run:
cp cdk/bin/deployment-config.json.example cdk/bin/deployment-config.json
Fill in proper values in cdk/bin/deployment-config.json
(hopefully self-explanatory)
Assuming aws
CLI is installed and configured correctly, run:
./scripts/cdk-deploy.sh
G2S3 consists of three main components:
back-up-drive-folder
back-up-drive-folder
, available as GitHubback-up-drive-folder
back-up-drive-folder
This CLI can be invoked locally for testing, or from the cloud when part of a regular backup. For instructions, on how to use it:
$ back-up-drive-folder --help
The Docker image (built via this GitHub Action) can be used directly using:
$ docker pull ghcr.io/petergtz/g2s3/g2s3:latest
Or it can be built using:
$ ./scripts/build-release.sh && ./scripts/build-container.sh
The CDK stack can be found in ./cdk/lib
.