Skip to content

Latest commit

 

History

History
66 lines (45 loc) · 2.14 KB

README.md

File metadata and controls

66 lines (45 loc) · 2.14 KB

iCloud Backup

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

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

This tool will output the following directory structure:

.
└── Drive
    └── <...>
└── Photos
    └── All Photos
        └── <.png|.jpg|.mov|...>

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 "[email protected]" \
  --password "abcd efgh ijkl mnop" \
  --filepath "~/Backups/iCloud/" \
  --services "drive,photos"

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="[email protected]" \
  --env ICLOUD_BACKUP_PASSWORD="abcd efgh ijkl mnop" \
  --env ICLOUD_BACKUP_FILEPATH="/backups" \
  --volume="~/Backups/iCloud/:/backups/" \
  ghcr.io/weejewel/icloud-backup

Hint: when automating this within a cronjob, remove -it after the first run.

Credits

Most hard work is done by @foxt in icloud.js. Please sponsor them!

Also see

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