Tusk Logo

Tusk

Backup destinations

Cloudflare R2

R2 is the right pick if you'll be downloading your backups often. Zero egress fees, S3-compatible API, account-specific endpoint URL.

R2 is Cloudflare's object storage. Storage pricing is competitive with B2, and R2's defining feature is zero egress fees. You pay to store and to write, not to read. For backups you'll restore from often (active project archives, drives you swap out monthly), this changes the math significantly.

R2 speaks S3. Setup in Tusk is the same form as AWS or B2, with two differences: the endpoint URL includes your Cloudflare account ID, and you generate API tokens (rather than IAM users) to get an access key pair.

Create a bucket

1

Open the R2 dashboard

Sign in to the Cloudflare dashboard and pick R2from the sidebar. If R2 isn't enabled, follow the prompt to enable it (free for the storage tier you start at).

2

Create a bucket

Click Create bucket. Name it (e.g. tusk-backups) and pick a location hint near you. Default automatic region is fine for most users.

3

Note your endpoint URL

Open the bucket and click Settings. Find S3 API. The endpoint looks like <account-id>.r2.cloudflarestorage.com where <account-id> is your Cloudflare account ID. Copy it.

Create an API token

R2 lets you create API tokens scoped to specific buckets and permissions. Create one for Tusk that only has access to your backup bucket.

1

Open R2 → Manage R2 API Tokens

From the R2 sidebar, click Manage R2 API Tokens.

2

Create a new token

Click Create API token. Name it tusk-backup. Set permissions to Object Read & Write. Under Specify bucket(s), pick your Tusk bucket. Leave TTL empty (no expiry) unless you want to rotate tokens.

3

Save the Access Key ID and Secret Access Key

Cloudflare shows the credentials once. Copy both the Access Key ID and the Secret Access Key into your password manager before closing the page.

R2 tokens look like S3 keys

Cloudflare gives you S3-compatible Access Key ID + Secret Access Key pairs directly from the token creation flow. There's no IAM user step like AWS. Use the values exactly as shown.

Connect Tusk

1

Add an S3 destination in Tusk

From the destination picker, choose S3-compatible. Fill in:

  • Endpoint URL: <account-id>.r2.cloudflarestorage.com
  • Bucket: your R2 bucket name
  • Folder: a subfolder for this project
  • Access key ID and Secret access key from the API token you just created

2

Test and save

Click Test connection. Tusk does a real PUT and GET against the bucket. If it passes, click Add destination.

Screenshot

S3 destination form in Tusk. Show endpoint set to '<account-id>.r2.cloudflarestorage.com' (with a fake account ID), an R2 bucket name, a folder path, and the credential picker with one R2 credential saved.

alt: The S3 destination form with an R2 endpoint filled in