ezS3.net
Back to blog
Configuring DigitalOcean Spaces with ezS3

Configuring DigitalOcean Spaces with ezS3

Connect DigitalOcean Spaces to ezS3 for secure team access. Create a Space, add an API key, and enable browser uploads with auto CORS.

3 min read

DigitalOcean Spaces is S3-compatible object storage that fits neatly into the DigitalOcean ecosystem. With ezS3, you get a dedicated connection form: choose a region and your credentials, and ezS3 derives the endpoint so you can give your team secure access to Spaces without manual CORS setup.

Why DigitalOcean Spaces?

  • S3-compatible API: Works with standard S3 tooling and ezS3’s access control, audit log, and browser upload/download flows
  • Simple pricing: Predictable storage and egress, often lower than major cloud providers
  • Integrated with DO: Same account and billing as Droplets, App Platform, and other DigitalOcean services
  • Global regions: Spaces in NYC, SFO, Amsterdam, Singapore, London, Frankfurt, Toronto, Bangalore, Sydney, and Atlanta

Step 1: Create a Space and API Key

  1. Log in to the DigitalOcean Control Panel
  2. Go to Spaces in the sidebar and click Create Space
  3. Choose a region (e.g. nyc3, sfo3, ams3) and a unique Space name
  4. Create a Spaces access key (or use an existing one): go to APISpaces KeysGenerate New Key, give it a name, and copy the Access Key and Secret Key (you won’t see the secret again)

Step 2: Add DigitalOcean Spaces in ezS3

  1. In ezS3, go to Storage Providers and click Add Provider.
  2. Choose DigitalOcean Spaces.
  3. Fill in the form:
    • Region — The region where your Space lives (e.g. nyc3, ams3, sfo3). Type the region code or pick from the suggestions. ezS3 shows and uses the correct endpoint for that region; you don’t enter an endpoint URL yourself.
    • Bucket scopes (optional) — Leave blank to let ezS3 list all Spaces the key can access. If the key can’t list Spaces, enter a comma-separated list of Space names (e.g. assets, backups).
    • Access key ID and Secret key — From Step 1.
  4. Leave Allow ezS3 to update bucket CORS settings (recommended) on. When you save or test the connection, ezS3 can add the ezs3.net origin to your Space’s CORS policy so browser uploads work.
  5. Save. ezS3 validates the connection and then you can assign Spaces to roles and start using them.

How ezS3 Picks the Spaces Endpoint

ezS3 derives the endpoint from the Region you choose:

  • Endpoint: https://<region>.digitaloceanspaces.com (e.g. https://nyc3.digitaloceanspaces.com)

You only need to know your Space’s region; the endpoint is set automatically. Supported regions include nyc1, nyc2, nyc3, ams3, sfo2, sfo3, sgp1, lon1, fra1, tor1, blr1, syd1, and atl1.

Troubleshooting

Access denied or signature errors

  • Confirm the Spaces key has read/write access to the Space
  • Check that the region matches the region where you created the Space
  • If you use bucket scopes, ensure the Space name is in the list

Browser says “CORS policy blocked”

  • Keep Allow ezS3 to update bucket CORS settings on and run Test connection again so ezS3 can add the ezs3.net origin
  • If you manage CORS yourself, allow https://ezs3.net with methods GET, PUT, HEAD, DELETE and appropriate headers

Ready to try it? Sign up for ezS3 and connect your DigitalOcean Space.

Read next