Guides

File manager for Cloudflare R2: connect it to Nubbo

How to connect a Cloudflare R2 bucket to Nubbo: the API token, the Account ID, the wizard step by step, the CORS rule and what to do if something fails.

Nubbo connects to Cloudflare R2 with an R2 API token and your account’s Account ID. In a few minutes your buckets are in a file explorer with direct uploads, share links and galleries. This guide follows the Nubbo wizard step by step, with both paths: automatic or with a key limited to one bucket.

What you get

  • Browse the bucket like a drive: folders, views, search, trash, labels and favorites.
  • Upload and download files directly between your browser and Cloudflare R2. Files never pass through Nubbo servers.
  • Share files and folders with a password, expiry and download limit, receive files into your bucket and create galleries.
  • Your keys are stored encrypted with AES-256-GCM and you can disconnect the bucket at any time.

Before you start

You need an account with Cloudflare R2 and a Nubbo account. Every bucket you connect counts toward your plan limit: Free allows 2, Personal 5 and Pro has no limit. Before your first bucket, Cloudflare asks you to activate the R2 subscription from the dashboard. If your bucket has a jurisdiction (EU, FedRAMP or US), you pick it in the wizard and Nubbo uses the endpoint of that jurisdiction.

Choose how to connect

The Nubbo wizard offers two paths. Both end the same way: the bucket connected and ready for uploads from the browser.

AutomaticWith a limited key
KeyAccess to the whole accountLimited to one bucket
BucketNubbo uses one of yours or creates a new oneYou create it first
CORSNubbo adds the rule for youYou add the rule
When to choose itThe fastest wayWhen you do not want to give access to the whole account

The limited key is the least access Nubbo needs: Object Read & Write on one bucket. With it Nubbo cannot list your buckets or create one, so you type the bucket name and add the CORS rule yourself.

Automatic connection

Step 1: create the key in Cloudflare R2

  1. Sign in to dash.cloudflare.com and open R2 object storage. The dashboard may show its menus in your language.
  2. Open API Tokens and press Create Account API token. You also reach it from Overview, under Account Details, Manage.
  3. Choose the Admin Read & Write permission and create the token.
  4. Copy the Access Key ID and the Secret Access Key. Cloudflare shows the secret only once. Use these two keys, not the token value.
  5. Copy your Account ID too, shown on the Overview page.

Step 2: connect the bucket in Nubbo

  1. In Nubbo, open Buckets and press Connect bucket. Choose Cloudflare R2 and press Continue.

    Provider step of the Nubbo wizard with Cloudflare R2 selected Provider step of the Nubbo wizard with Cloudflare R2 selected
  2. Choose Automatic and press Continue.

    How to connect step with the Automatic and With a limited key options How to connect step with the Automatic and With a limited key options
  3. In the Your key step, paste the Access Key ID, the Secret Access Key and the Account ID, and pick the Jurisdiction of your bucket: Default (no jurisdiction) for most buckets, or EU, FedRAMP or US. Nubbo builds the endpoint from the Account ID and the jurisdiction, for example https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com for the EU. The bucket list only shows buckets in that jurisdiction and a new bucket is created in it. The R2 region is always auto. Press Check key. Nubbo checks that the key works and that it has access to the whole account.

    Your key step for Cloudflare R2 with the quick guide and the key fields Your key step for Cloudflare R2 with the quick guide and the key fields
  4. Pick one of your buckets and press Use this bucket, or select Create a new one, type a name (and pick the region, if it asks) and press Create and prepare. Nubbo adds a CORS rule to the bucket that only allows uploads and downloads from the app, and keeps the rules it already has.

    Your bucket step with the bucket list and the Create a new one option Your bucket step with the bucket list and the Create a new one option
  5. Review the three checks, change the Name in Nubbo if you like and press Finish. The bucket shows up in Buckets and you can open it in the explorer.

    Done step with the connection, bucket and CORS checks Done step with the connection, bucket and CORS checks

If Nubbo cannot add the CORS rule with your key, the wizard takes you to the CORS step. Then follow Add the CORS rule.

Connection with a limited key

Step 1: prepare the bucket and the key in Cloudflare R2

  1. In R2 object storage, press Create bucket and give it a name (lowercase letters, numbers and hyphens). There is no region to choose. If the data must stay in the EU, choose the EU jurisdiction: the endpoint changes with it.
  2. Open API Tokens and press Create Account API token.
  3. Choose the Object Read & Write permission and limit it to your bucket.
  4. Copy the Access Key ID, the Secret Access Key and your Account ID.

Step 2: connect the bucket in Nubbo

  1. In Buckets, press Connect bucket, choose Cloudflare R2 and then With a limited key.
  2. Paste the Access Key ID, the Secret Access Key and the Account ID, pick the same Jurisdiction as the bucket and press Check key.
  3. Type the exact bucket name and press Check access.
  4. The wizard moves to the CORS step with the rule you need to add.

Add the CORS rule

The CORS rule lets the browser upload and download files from your bucket on https://nubbo.app. It is the same rule the wizard shows in the CORS step.

  1. In R2, open the bucket and go to Settings.
  2. Under CORS Policy, press Add CORS policy and pick the JSON tab.
  3. Paste the rule and press Save. Cloudflare can take up to 30 seconds to apply it.
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
CORS step with the rule to add to the bucket CORS step with the rule to add to the bucket

Once it is saved, go back to Nubbo and press I added it, check. If your key is allowed to change CORS, Try to configure it for me does it for you.

If something goes wrong

Message in NubboWhat to do
“This key seems limited to one bucket. You can continue with the limited path or create a key with full access.”Press Continue with a limited key, or create a key with access to the whole account and press Try another key.
“Your key is not allowed to create buckets.”Use a key with full access, or create the bucket in your panel and press I created it in my panel.
“That name is already in use on this provider; try another one.”Bucket names are unique across the provider: pick another one.
“Your key is not allowed to set it up.”Add the CORS rule by hand, as explained above.
“It does not work yet. Review the rule and check again; some providers take a minute to apply it.”Check that the origin is exactly https://nubbo.app with no trailing slash, wait a minute and check again.
“This bucket is already in use.”That bucket is already connected in Nubbo, in your account or in another one.
“Invalid credentials. Check the access key and secret access key.”Check that you pasted the token’s Access Key ID and Secret Access Key, not the Cloudflare API token value.
“Bucket not found. Verify the name and region.”Check the name, and check that the Jurisdiction in Nubbo matches the one of the bucket (R2 shows it in the bucket Settings).

What it costs

R2 does not charge for egress and has a monthly free tier. We explain it in Cloudflare R2 free tier.

Frequently asked questions

Where do I find my Cloudflare Account ID?

On the R2 Overview page, under Account Details. It is a 32 character string of numbers and the letters a to f.

What permission does the R2 token need?

The least access Nubbo needs is Object Read & Write limited to your bucket, with the limited key path: you type the bucket name and add the CORS rule yourself. The automatic path needs Admin Read & Write, which lets Nubbo list your buckets, create one and set up its CORS.

Which region do I use with R2?

None: R2 uses the auto region and Nubbo sets it for you. Cloudflare location hints do not change how the bucket connects.

Can I connect an R2 bucket with a jurisdiction, such as the EU one?

Yes. In the Your key step, pick the jurisdiction of the bucket (EU, FedRAMP or US). Each one has its own endpoint, such as https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com, and only shows the buckets created in it.

Do downloads from Nubbo cost egress on R2?

No. R2 does not charge for data transfer out. Downloads do count as read operations.

Sources

Prices and limits come from the official pages below. Providers change them, so check before you commit.