Back to blog

How to set up DigitalOcean Spaces from scratch and manage it with Nubbo

DigitalOcean Spaces is a straightforward, affordable object storage service that’s fully S3-compatible. It starts at $5/month for 250 GB of storage and includes a built-in CDN. In this guide, you’ll set everything up from zero and connect it to Nubbo so you can manage your files from a clean, modern interface.

What is DigitalOcean Spaces?

DigitalOcean Spaces is an object storage service designed for simplicity. It uses the S3 API, so any tool that works with AWS S3 also works with Spaces. What makes it stand out:

  • Simple, predictable pricing: $5/month for 250 GB of storage and 1 TB of outbound transfer. Additional storage is $0.02/GB.
  • Built-in CDN: Every Space can be served through DigitalOcean’s CDN edge network at no extra cost.
  • S3-compatible API: Works seamlessly with any S3-compatible tool, including Nubbo.
  • Regional availability: Choose from multiple datacenter regions (NYC, SFO, AMS, SGP, FRA) to store data close to your users.
  • Developer-friendly: If you’re already using DigitalOcean for Droplets, Kubernetes, or App Platform, Spaces fits naturally into your stack.

Common use cases:

  • Media storage: store images, videos, and audio files with CDN delivery built in.
  • Backups: automate project and database backups to a reliable, affordable destination.
  • Static assets: host CSS, JavaScript, fonts, and images for your web applications.
  • File distribution: share large files with clients or team members without worrying about complex setup.

Step 1: Create a DigitalOcean account

If you already have a DigitalOcean account, skip to the next step.

  1. Go to digitalocean.com and click Sign up.
  2. You can register with your email, Google account, or GitHub.
  3. Verify your email address.
  4. DigitalOcean may ask for a payment method during signup to verify your identity.
  5. Once logged in, you’ll land on the DigitalOcean Cloud Console.

Step 2: Create a Space

  1. In the left sidebar, go to Spaces Object Storage.
  2. Click Create Bucket (or Create a Space).
  3. Choose a datacenter region close to your users or your infrastructure (for example, ams3 for Amsterdam or nyc3 for New York).
  4. Choose a name for your Space (for example, my-files). This name must be globally unique.
  5. Leave the default settings or adjust as needed.
  6. Click Create a Space to confirm.

Once created, note your Origin Endpoint — it looks like:

https://my-files.ams3.digitaloceanspaces.com

You’ll need this endpoint when connecting to Nubbo. You can find it in your Space’s Settings tab.

Step 3: Generate API credentials

You need an access key so Nubbo can interact with your Space.

  1. In the left sidebar, go to Spaces Object Storage.
  2. Click on your Space name, then go to the Settings tab.
  3. Under Access Keys, click Create Access Key.
  4. Select Limited Access.
  5. Choose your bucket and grant Read, Write, and Delete permissions.
  6. Give the key a name (for example, nubbo-access).
  7. Click Create Access Key.
  8. Save the Access Key and Secret somewhere safe. The secret is only shown once.

Step 4: Configure CORS

CORS (Cross-Origin Resource Sharing) allows Nubbo to upload files directly from your browser to Spaces. Without it, uploads will be blocked.

  1. Go to Spaces Object Storage and click on your Space name.
  2. Go to the Settings tab.
  3. Scroll down to the CORS Configurations section.
  4. Click Add (or Edit if a configuration already exists).
  5. Configure the following:
Origin: *
Allowed Methods: GET, PUT, POST, DELETE, HEAD
Allowed Headers: *
Access Control Max Age: 3600
  1. Click Save.

For extra security, replace * in Origin with https://app.nubbo.app to restrict uploads exclusively to Nubbo.

Step 5: Connect to Nubbo

Everything is ready on the DigitalOcean side. Now connect your Space to Nubbo.

  1. If you don’t have an account yet, sign up for free on Nubbo.
  2. Once inside, click Add Provider in the sidebar.
  3. Select DigitalOcean Spaces as the provider type.
  4. Nubbo includes a built-in step-by-step guide inside the setup wizard that you can check at any time.
  5. Give the connection a descriptive name (for example, “My DO Spaces”).
  6. Enter the credentials from Step 3: your Access Key and Secret.
  7. Enter your Origin Endpoint from Step 2 (for example, https://my-files.ams3.digitaloceanspaces.com).
  8. Select the region that matches your Space (for example, ams3).
  9. Type the bucket name (the name of your Space from Step 2).
  10. Click Test connection to verify everything works.
  11. If the test passes, save the provider.

You can also use Smart mode: paste your credentials in CSV, JSON, or environment variable format and Nubbo will detect them automatically.

From now on, you’ll be able to browse your files, upload with drag & drop, preview images and videos, search files, share them with public links, and much more — all from the Nubbo interface.

DigitalOcean Spaces pricing at a glance

ResourceIncluded
Storage250 GB
Outbound transfer1 TB / month
Additional storage$0.02 / GB
Additional transfer$0.01 / GB
CDNIncluded
Monthly cost$5

DigitalOcean Spaces offers one of the simplest pricing models in cloud storage — a flat $5/month with generous allowances and no hidden fees.

Summary

In five steps you’ve set up everything you need:

  1. DigitalOcean account created.
  2. Space created in your preferred region.
  3. Access key generated with limited, bucket-specific permissions.
  4. CORS configured to allow browser uploads.
  5. Space connected to Nubbo and ready to use.

Nubbo also supports AWS S3 and Cloudflare R2, so if you use multiple providers you can manage them all from the same place.


Ready to get started? Create your free account and connect your first Space in minutes.