Skip to documentation
quickS3.com Open app
Browse documentation
Connections

Connect DigitalOcean Spaces

Create a limited DigitalOcean Spaces access key, find your region, and connect your Spaces to quickS3 without handing over your whole account.

Owner

DigitalOcean calls its buckets “Spaces”. You need a Spaces access key and the region your Spaces are in.

1. Create an access key

In the DigitalOcean control panel, open Spaces Object Storage → Access Keys and create a key.

  • Choose Limited Access and pick the Spaces your team will use.
  • Give each one Read/Write/Delete, or Read for a read-only connection.

Copy the access key and the secret. DigitalOcean only shows the secret once.

A limited key can’t create Spaces, and can’t list Spaces it wasn’t given. That’s fine for everyday use. Give the key access to all Spaces only if you want to create Spaces from quickS3.

2. Add the connection

  1. In quickS3, open Connections, select New connection, and pick DigitalOcean Spaces.
  2. Enter a Name.
  3. In Region, pick your Spaces’ region, like fra1 or nyc3. quickS3 shows the endpoint it will use below the field.
  4. With a limited key, type your Space names into Bucket scopes, separated by commas.
  5. Paste the Access key ID and Secret key.
  6. Keep CORS updates on and select Connect provider.

Then select Test connection. You want Connection verified with “CORS allows direct uploads”.

A connection reaches one region. If you have Spaces in fra1 and nyc3, add a connection for each.

If uploads are blocked by CORS

quickS3 sets CORS on each Space when you save and when you test. If the test still warns about CORS, the key probably isn’t allowed to change it. You’ll need to add the rule yourself, and DigitalOcean’s control panel can’t do it: it has no way to expose the ETag header that large uploads need. Use an S3 tool instead, with this rule:

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>https://quicks3.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
    <ExposeHeader>ETag</ExposeHeader>
    <MaxAgeSeconds>3600</MaxAgeSeconds>
  </CORSRule>
</CORSConfiguration>

DigitalOcean’s CORS guide shows how to apply it with s3cmd. Keep any rules the Space already has, and test again afterwards. If the Space uses DigitalOcean’s CDN, purge its cache after the change.

Creating Spaces

The Create bucket button needs a Full Access key. New Spaces are private, and quickS3 sets up their CORS straight after creating them. Nobody but Owners can use a new Space until a role grants it.