···6677Back up your iCloud Photos library to Scaleway Object Storage (S3-compatible).
8899-Attic reads the Photos.sqlite database directly, exports originals via a companion Swift tool called [ladder](../ladder), and uploads them to a Scaleway S3 bucket. A local manifest tracks what has already been backed up so subsequent runs only upload new assets.
99+Attic reads the Photos.sqlite database directly, exports originals via a companion Swift tool called [ladder](https://github.com/tijs/ladder), and uploads them to a Scaleway S3 bucket. A local manifest tracks what has already been backed up so subsequent runs only upload new assets.
10101111## Prerequisites
12121313- [Deno](https://deno.land/) (v2+)
1414-- The `ladder` binary, built from the sibling `../ladder` Swift project. Ladder uses PhotoKit to export original photo/video files from the Photos library.
1414+- The [ladder](https://github.com/tijs/ladder) binary. Ladder is a separate Swift tool that uses PhotoKit to export original photo/video files from the Photos library.
1515- A Scaleway Object Storage bucket and API credentials
1616- macOS (Photos.sqlite access and Keychain are macOS-only)
1717···2424security add-generic-password -s attic-s3-secret-key -a attic -w "<your-secret-key>"
2525```
26262727-Build the ladder binary:
2727+Build the ladder binary (see [ladder](https://github.com/tijs/ladder) for details):
28282929```bash
3030-cd ../ladder
3030+git clone https://github.com/tijs/ladder.git
3131+cd ladder
3132swift build -c release
3233```
3334