Step 1Create a Backblaze account

Create an account at backblaze.com/sign-up/cloud-storage.

Backblaze asks you to choose a region when you sign up, and every bucket in the account lives there. Pick the one closest to you and your clients.

Backblaze bills you directly for storage; Dropbucket doesn't charge for it. Prices change, so check Backblaze's pricing page for current rates.

Still choosing a provider? We recommend iDrive e2. See how to set up iDrive e2.

Step 2Create a private bucket and pick a region

  1. Sign in to Backblaze. Under B2 Cloud Storage, open Buckets and click Create a Bucket.
  2. Enter a name using lowercase letters, numbers and dashes, for example agency-transfers. Dropbucket won't accept capitals or underscores.
  3. Set Files in Bucket are to Private. Dropbucket uses short-lived signed links, so the bucket never needs to be public.
  4. Create the bucket.

B2 keeps old versions of a file by default. Dropbucket doesn't overwrite files, so this rarely matters, but you can add a lifecycle rule to keep only the latest version.

Step 3Create an access key for that bucket only

The master application key doesn't work with the S3 API, so you need a separate key.

  1. Open Application Keys and click Add a New Application Key.
  2. Name of Key: something like dropbucket.
  3. Allow access to Bucket(s): choose the bucket from Step 2.
  4. Type of Access: Read and Write.
  5. Leave File name prefix and Duration blank. A key with a duration stops working when it expires, and your links stop with it.
  6. Click Create New Key.

Backblaze shows a keyID and an applicationKey. Copy both. The application key is shown once only.

The exact menus may differ slightly as Backblaze updates its console.

Step 4Find your endpoint and region

The bucket page shows an Endpoint, for example s3.us-west-004.backblazeb2.com. Put https:// in front of it:

https://s3.us-west-004.backblazeb2.com

The middle part (us-west-004 here) is your region. Copy it from the bucket page rather than guessing the number: us-west-002 and us-west-004 are different places.

Step 5Enter the details in Dropbucket

  1. In Dropbucket, go to Settings → Storage.
  2. Provider: choose Backblaze B2. Dropbucket fills in the endpoint https://s3.<REGION>.backblazeb2.com and region us-west-004 for you.
  3. Endpoint: the endpoint from Step 4, with https:// in front.
  4. Bucket: the bucket name from Step 2.
  5. Region: the middle part of the endpoint, for example us-west-004. Dropbucket fills in us-west-004 by default, so change it if yours is different.
  6. Access key ID and Secret access key: Access key ID is the keyID, and Secret access key is the applicationKey, both from Step 3.
  7. Folder inside the bucket (optional): leave it blank, or enter a folder such as client-files if the bucket holds other things too.
  8. Path-style URLs: leave it ticked. That's the right setting for Backblaze B2.

Read Step 6 before you press Test and save. Your keys are encrypted before they're stored, and Dropbucket only uses them to sign uploads and downloads. Files never pass through Dropbucket's servers.

Step 6Add the CORS rule

Files travel from your client's browser straight into your bucket. The browser only allows that if the bucket says Dropbucket's pages may upload to it. That permission is a CORS rule.

The Storage page in Dropbucket shows the exact rule under CORS rule, and tries to apply it for you when you save.

A key limited to one bucket can't change bucket settings, so on B2 Dropbucket usually can't add this rule for you. On B2 the rule must apply to the S3 Compatible API. There are two ways to set it.

Option A: the Backblaze web console

  1. On the Buckets page, click CORS Rules under your bucket.
  2. Choose Share everything in this bucket with this one origin and enter https://app.dropbucket.io.
  3. Under Apply CORS rules to the following APIs, choose S3 Compatible API or Both. A rule for the B2 Native API only won't help.
  4. Click Update CORS Rules and give it a minute to apply.

The web console takes one origin only. If you also use your own domain for download and upload pages, use Option B.

Option B: the B2 command-line tool

Install the B2 command-line tool and sign in with b2 account authorize (your master key is fine here, because this is the B2 tool, not the S3 API). Save this as cors.json:

[
  {
    "corsRuleName": "dropbucket-uploads",
    "allowedOrigins": [
      "https://app.dropbucket.io"
    ],
    "allowedOperations": [
      "s3_get",
      "s3_put",
      "s3_head"
    ],
    "allowedHeaders": [
      "*"
    ],
    "exposeHeaders": [
      "ETag"
    ],
    "maxAgeSeconds": 3600
  }
]

Then run, with your own bucket name in place of agency-transfers:

b2 bucket update --cors-rules "$(<cors.json)" agency-transfers allPrivate

This is the same rule Dropbucket shows on its Storage page, written in Backblaze's own format. If you have a custom domain such as files.youragency.com, add "https://files.youragency.com" to allowedOrigins, with a comma after the first entry. See Put your download pages on your own domain.

Keep ETag in exposeHeaders. Dropbucket reads it after every chunk of a large upload, and uploads stop without it.

Step 7Run the connection check

  1. Press Test and save.
  2. Dropbucket writes a tiny test file to the bucket, reads it back and deletes it. When that works, the Status card shows a tick next to Keys work.
  3. It then tries to add the CORS rule and runs a real test upload from your browser. When that works, Browser uploads allowed (CORS) shows a tick.

With a bucket-limited key you'll probably see "We couldn't set this automatically on your provider." That's expected. If you set the rule in Step 6, Browser uploads allowed (CORS) will tick. If not, wait a minute and press Check again.

Two ticks means you're connected. Send a small test transfer to yourself to see the whole thing working.

Step 8Fix common errors

The messages below are exactly what Dropbucket shows on the Storage page.

Permissions

“The storage provider refused these keys. Check the access key, secret and bucket permissions.”You may have used the master application key, which the S3 API rejects. Create a separate key. Also check it is Read and Write and covers this bucket.

“Wrote a test file but could not read it back”The key can write but not read. Give it read and write access to the bucket, then press Test and save again.

Keys work, but uploads fail with a 403 errorCheck CORS first (below). If CORS passes, the key may have expired or been deleted. Create a new one and enter it under Settings → Storage. Leaving the key fields blank keeps the saved keys.

Region and endpoint

“That bucket was not found at this endpoint.”Check the bucket name. If it's right, the endpoint region is probably wrong. Copy it from the bucket page.

“Wrong region or endpoint for this bucket.”The Region field doesn't match the endpoint. Both should use the same code, such as us-west-004.

“We couldn't reach your storage with these settings. Check the endpoint and region.”The endpoint has a typo or the region code is wrong. Copy the endpoint again from your provider's console.

“Endpoint should be just the address, with no path”Remove everything after the domain, including any bucket name. The endpoint must also start with https://.

“Custom S3 endpoints come with a lifetime plan. Pick one of the listed providers, or upgrade.”On the free plan the endpoint has to be one of the listed providers' own addresses. This usually means a typo in the domain part of the endpoint.

CORS

Keys work, but Browser uploads allowed (CORS) doesn't tickThe most common cause on B2 is a rule that applies to the B2 Native API only. Make sure it covers the S3 Compatible API. Also check the origin is exactly https://app.dropbucket.io, with no slash at the end. If the console rule still doesn't pass, use Option B.

“Your storage didn't return an ETag. Check its CORS settings (expose ETag).”The rule doesn't expose the ETag header. The web console can't set this, so use Option B, which sets it explicitly.

Still stuck? Email support@dropbucket.io with the message you see. Never send us your secret key.