{"repo":"rhoopr/kei","free":true,"listed":false,"github":"https://github.com/rhoopr/kei","clone":"git clone https://github.com/rhoopr/kei.git","description":"Fast, parallel backups for cloud-hosted photos and videos - one-time exports, local mirrors, and unattended Docker runs.","language":"Rust","stars":146,"topics":["apple","backup","cli","docker","icloud","icloud-photos","photo-backup","rust","selfhosted"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"kei: fast, parallel backups for cloud-hosted photos and videos. kei copies cloud-hosted photos and videos into folders you control. Today that includes iCloud Photos. The goal is a fast, parallel local backup you can run once, keep as a mirror, or leave unattended in Docker. It handles the parts that make photo backups annoying: big libraries, shared libraries, albums, Live Photos, RAW files, edited versions, retries, interrupted downloads, and existing archives you don't want to download twice. [!WARNING] kei is pre-release software. Minor versions may contain breaking changes. Read CHANGELOG.md before updating. Install Pre-built binaries for macOS, Linux, and Windows are on the Releases page. For Docker Compose, source builds, FreeBSD, and NAS setup, see Install. Start [!IMPORTANT] v0.20 moved durable sync settings into TOML. Keep CLI flags for one run, env vars for secrets and service glue, and saved settings in config.toml . If an old command fails with a removed flag such as --download-dir , move that value into the config file: Use the v0.20 migration guide and example.config.toml for the full option-by-option TOML reference, including defaults and valid values. The setup wizard creates /.config/kei/config.toml , asks where photos should land, and can save your password in the OS keyring. You'll still approve 2FA on a trusted Apple device the first time. A tiny config looks like this: After the first run: What kei gives you - Fast, parallel downloads for large cloud pho","default_branch":null,"files":null,"tree":[],"storefront":"/r/rhoopr","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rhoopr/kei/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}