Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Set up rclone config and upload script (litmus-6gbb)

StatusDone · archived
TypeTask
Prioritynormal
ParentDeploy screenshots to Cloudflare R2 (litmus-v2g1)
Blocked byCreate R2 bucket and API token (litmus-7k5y)

Create rclone-based sync tooling:

  • Add rclone to project dev dependencies (added to flake.nix devShell)
  • Create rclone config for R2 (inline flags, no config file needed)
  • Write mise task screenshots-sync with –checksum flag
  • Ensure correct Content-Type headers are set on upload (rclone auto-detects from extension)
  • Tested with dry-run, then full upload (117.9 MiB, ~1000 files)
  • Env vars: R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_ENDPOINTS (set via shadowenv)

Summary of Changes

  • Added rclone to flake.nix devShell packages
  • Added screenshots-sync mise task: rclone sync with checksum-based diffing
  • Added screenshots-deploy mise task: builds production manifest + syncs
  • All env vars passed inline (no rclone.conf needed)
  • Successfully uploaded all screenshots to R2 bucket