MCPcopy Index your code
hub / github.com/WeeJeWel/node-google-backup

github.com/WeeJeWel/node-google-backup @v2.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.4 ↗ · + Follow
22 symbols 52 edges 5 files 0 documented · 0% updated 15mo agov2.0.4 · 2025-02-05★ 4711 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Google Backup

NPM Version Sponsor Build & Publish NPM Package Build & Publish Docker Image

This module automatically downloads your Google Mail, Contacts & Calendar to separate files. It'll sync only new Mails, Contacts & Events.

This tool will output the following directory structure:

.
├── Contacts
│   └── *.vcf
├── Calendar
│   └── *.ical
└── Mail
    ├── By ID
    │   └── *.eml
    ├── By Thread
    │   └── <...>
    │       └── *.eml
    └── By Label
        ├── <...>
        │   └── *.eml
        └── [Gmail]
            ├── All Mail
            │   └── *.eml
            ├── Sent
            │   └── *.eml
            └── <...>
                 └── *.eml

Note: All e-mail files are symlinked to 'By ID/*.eml'.

Why?

Google makes great services, but there are many horror stories of people locked out of their accounts. So be safe, and keep your data backed up!

Usage

1. Create a Google App Password

Create a Google App Password at https://myaccount.google.com/apppasswords.

2. Run

Node.js

If you have Node.js already installed, run:

$ npx -y google-backup \
  --username "john.doe@gmail.com" \
  --password "abcd efgh ijkl mnop" \
  --filepath "~/Backups/Google/"

Hint: You can schedule this in a cronjob for automated backups.

Docker

If you prefer Docker, this is an example how to run:

$ docker run \
  --env GOOGLE_BACKUP_USERNAME="john.doe@gmail.com" \
  --env GOOGLE_BACKUP_PASSWORD="abcd efgh ijkl mnop" \
  --env GOOGLE_BACKUP_FILEPATH="/backups" \
  --env GOOGLE_BACKUP_SERVICES="mail,calendar,contacts" \
  --volume="~/Backups/Google/:/backups/" \
  ghcr.io/weejewel/google-backup

Also see

Looking to backup iCloud Drive in a similar way? See iCloud Backup.

Core symbols most depended-on inside this repo

log
called by 13
lib/GoogleBackupMail.mjs
createBackup
called by 3
lib/GoogleBackupMail.mjs
backupMail
called by 2
lib/GoogleBackup.mjs
backupCalendar
called by 2
lib/GoogleBackup.mjs
backupContacts
called by 2
lib/GoogleBackup.mjs
downloadBox
called by 1
lib/GoogleBackupMail.mjs
constructor
called by 0
lib/GoogleBackup.mjs
backupAll
called by 0
lib/GoogleBackup.mjs

Shape

Method 14
Class 8

Languages

TypeScript100%

Modules by API surface

lib/GoogleBackupMail.mjs7 symbols
lib/GoogleBackup.mjs7 symbols
lib/GoogleBackupContacts.mjs4 symbols
lib/GoogleBackupCalendar.mjs4 symbols

For agents

$ claude mcp add node-google-backup \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact