Skip to content

WeeJeWel/node-icloud-backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iCloud Backup

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

This module automatically downloads your iCloud Drive to the local filesystem.

This tool will output the following directory structure:

.
└── Drive
    └── <...>

Why?

Apple 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. Run

Node.js

If you have Node.js already installed, run:

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

The first time you will need to enter your 2FA code manually.

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 -it \
  --env ICLOUD_BACKUP_USERNAME="john.doe@gmail.com" \
  --env ICLOUD_BACKUP_PASSWORD="abcd efgh ijkl mnop" \
  --env ICLOUD_BACKUP_FILEPATH="/backups" \
  --volume="~/Backups/iCloud/:/backups/" \
  ghcr.io/weejewel/icloud-backup

Credits

Most hard work is done by @foxt in icloud.js.

Also see

Looking to backup Google Mail, Calendar & Contacts in a similar way? See Google Backup.