Skip to content

Custom DigitalOcean Spaces Storage

The Custom storage feature is available with the Plugin Expansion plan and higher.

If you're on the Plugin for Startup plan, consider upgrading to access this feature. For more details, visit our pricing page or contact support.

The Custom Cloud Storage feature in the Topol Plugin lets you connect your own storage provider. Alongside AWS S3, Google Cloud Storage, and Cloudflare R2, you can also use DigitalOcean Spaces — an S3-compatible object storage — and this tutorial walks you through that setup, step by step.

Throughout this guide, you will collect several values that you'll need at the very end (your bucket name, region, Origin Endpoint, access key, and secret key). Save each one somewhere safe as you go.

How to configure Custom DigitalOcean Spaces Storage

1) Sign up at https://cloud.digitalocean.com/ and create a new Spaces bucket. In the top bar, click Create and, under the STORAGE column, choose Spaces Object Storage.

DigitalOcean Create menu with Spaces Object Storage

2) Leave Standard Storage selected (CDN support, no minimum retention period). Further down the page, select a region and enter a bucket name — remember it, as you will need it later. Then click Create a Spaces Bucket.

Choose Standard Storage, region, and bucket name

In this example the bucket is named topol-plugin and the region is fra1. Save your own values elsewhere.

3) After it is created, the bucket detail opens with the Files and Settings tabs. In the top-right corner there is an Origin Endpoint field showing your storage address. Click Settings.

Bucket detail with Files and Settings tabs and the Origin Endpoint field

4) In Settings, scroll down to the Access Keys section and click Create Access Key.

Settings with the Create Access Key button in the Access Keys section

5) In the modal window that appears, select this bucket and switch its permissions from Read to Read/Write/Delete. Then click Create Access Key.

Create Access Key modal with the bucket set to Read/Write/Delete

The plugin needs to write and delete files as well, so Read/Write/Delete is required — Read alone is not enough.

6) The key is created and displayed. Copy the Access Key ID and the Secret Key, and save both somewhere safe.

Created access key showing the Access Key ID and Secret Key

The Secret Key is shown only once. Once you close the window you will not see it again — you would then have to regenerate the key (Regenerate key). Save it right away.

7) Go back to Settings and, next to the CORS Configurations section, click Add.

Settings with the Add button next to CORS Configurations

8) In the Advanced CORS Options window, fill in a single rule:

  • Origin — enter one of the URLs from the table below.
  • Allowed Methods — tick GET, PUT, and HEAD.
  • Allowed Headers — click + Add Header and add one header with the wildcard *.
  • Access Control Max Age — enter 3600.

Then save it with Save CORS Configuration.

Advanced CORS Options with Origin, Allowed Methods, Allowed Headers, and Access Control Max Age

Add these three rules:

#OriginAllowed MethodsAllowed HeadersMax Age
1https://d3ayqk5orocicw.cloudfront.netGET, PUT, HEAD*3600 s
2https://v4.email-assets.topol.ioGET, PUT, HEAD*3600 s
3https://v3.email-assets.topol.ioGET, PUT, HEAD*3600 s

DigitalOcean adds only one origin per rule. Repeat the process — one rule for each address. The order of the rules can be changed by dragging (drag & drop).

9) At the top of the bucket detail you will find everything you need:

  • Name — next to the bucket icon.
  • Region — in the metadata row (fra1).
  • Origin Endpoint — in the field on the right; copy the address using the Copy button.
Bucket detail with the name, fra1 region, and the Origin Endpoint field

The Origin Endpoint has the form https://<bucket-name>.fra1.digitaloceanspaces.com.

Set your DigitalOcean Spaces credentials for the API Token in TOPOL

1) In your Topol account, go to Plugin settings at https://app.topol.io/plugin.

2) Find the API Token where you want to set up your own DigitalOcean Spaces storage and click Storage options. A dialog will appear.

3) Click DigitalOcean Spaces.

Topol Storage options dialog with DigitalOcean Spaces selected

4) Fill in the values you saved during the setup (the bucket name, region, Origin Endpoint, access key, and secret key), then save the settings.

Fill in the DigitalOcean Spaces credentials in Topol

Your DigitalOcean Spaces storage setup is now complete.

If you encounter any issues or require additional instructions, please don't hesitate to contact our support.