Install the app, unlock the vault, add a profile, and complete a first bucket smoke check.
- Desktop prerequisites
- First-launch vault setup
- First profile validation
- First upload and download check
Quickstart
What you need before launch
- A supported desktop OS: Windows, macOS, or Linux.
- A Cloudflare R2 account with an Account ID, Access Key ID, and Secret Access Key.
- Permission to list buckets if you want the app to validate the profile on save. The product validates by calling
ListBuckets, so credentials that cannot list buckets will fail save/test even if they can access specific buckets. - HTTPS URLs only for any public base URL or CDN domain you add to the profile.
Install a release build
- Download the latest installer from the release builds page.
- Install the app for your platform.
- Launch R2 Desk Pro.
If you are building from source instead of using a release installer, use the Build and release guide.
Unlock the vault on first launch
On first run the app asks you to create a local vault passphrase.
- The passphrase is not sent anywhere.
- Operational commands stay blocked until the vault is unlocked.
- Auto-lock behavior is configurable later in Settings > Security.
Choose a passphrase you can remember. Recovery is destructive because the app does not store your passphrase for you.
Add your first profile
- Click Add Profile.
- Enter:
- Profile name
- Account ID
- Access Key ID
- Secret Access Key
- Optional public base URL
- Optional Cloudflare Zone ID and API token if you plan to use cache purge
- Click Save and Validate.
- Click Use to make the profile active.
The endpoint is derived automatically from your Account ID:
https://<ACCOUNT_ID>.r2.cloudflarestorage.com
Run a five-minute smoke check
Once the profile is active:
- Select a bucket.
- Browse into a prefix or stay at root.
- Upload one file.
- Download the same file back to disk.
- Open object details and confirm metadata loads.
- Generate a signed URL.
That verifies the basic profile, object, and transfer paths.
What to configure next
After the first successful smoke check:
- Set your preferred theme and table density in Settings.
- Set transfer concurrency and multipart thresholds if you work with larger files.
- Add a public base URL if you want copy-public-URL actions to map to a custom domain.
- Add Cloudflare purge credentials only if you actually need cache purge from inside the app.
If profile save fails
The most common first-run failure is an access policy problem, not a broken app build.
Check these first:
- The Account ID is correct.
- The Access Key ID and Secret Access Key belong to the same R2 credential pair.
- The credential can list buckets.
- Any public base URL or CDN domain uses
https://.
If the app reports AccessDenied during save or test, move straight to Profiles and connections and Troubleshooting.