# DigitalOcean Spaces Setup & File Transfer

> How to connect Blober to DigitalOcean Spaces. S3-compatible object storage with a built-in CDN. Browse, upload, download, and transfer files.

DigitalOcean Spaces is S3-compatible object storage with a built-in CDN. Blober connects via the S3-compatible API and supports both standard and cold storage tiers.

Path format:

```plaintext
space-name/path/to/file.ext
```

## Capabilities

* ✅ Browse Spaces and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy objects (within the same Space)
* ✅ Move objects
* ✅ S3-compatible API
* ✅ Multi-region support (automatic region detection)
* ✅ Cold storage tier support
* ✅ Project organization via Personal Access Token

## Prerequisites

* A DigitalOcean account ([create one](https://cloud.digitalocean.com/registrations/new))
* At least one Space created
* Spaces access keys

## Required Credentials

[]()

### Access Key

* **Where to find:** DigitalOcean Control Panel => API => Spaces Keys
* **Format:** 20 uppercase alphanumeric characters
* **Example:** `AKIAIOSFODNN7EXAMPLE`

[]()

### Secret Key

* **Format:** 40 characters
* **Example:** `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`

## Optional Credentials

[]()

### Personal Access Token

* **Purpose:** Lists Spaces organized by project and shows project names
* **Where to find:** DigitalOcean Control Panel => API => Tokens
* **Note:** Without this, Blober has to check every region to find your Spaces, which is slower.

## Available Regions

DigitalOcean Spaces is available in these regions:

| Region Code | Location        |
| ----------- | --------------- |
| `nyc3`      | New York 3      |
| `sfo3`      | San Francisco 3 |
| `ams3`      | Amsterdam 3     |
| `sgp1`      | Singapore 1     |
| `fra1`      | Frankfurt 1     |
| `syd1`      | Sydney 1        |
| `blr1`      | Bangalore 1     |

> **Note**
>
> Unlike AWS S3, DigitalOcean Spaces is region-scoped. Blober automatically discovers Spaces across all regions by probing each one.

## Storage Tiers

DigitalOcean Spaces supports two storage tiers, set at bucket creation:

| Tier         | Use Case                    | Retrieval                         |
| ------------ | --------------------------- | --------------------------------- |
| **Standard** | Frequently accessed data    | Immediate                         |
| **Cold**     | Infrequent access, archival | Immediate (higher retrieval cost) |

> **Caution**
>
> The storage tier is set when creating a Space and cannot be changed afterward. Objects inherit the Space's tier.

## Setup (DigitalOcean Control Panel)

### 1. Create a Space

1. Go to [DigitalOcean Control Panel](https://cloud.digitalocean.com)

2. Navigate to **Spaces Object Storage** in the sidebar

3. Click **Create a Space**

4. Configure:

   * **Datacenter region:** Choose from available regions
   * **Storage tier:** Standard or Cold
   * **CDN:** Enable if needed for edge caching
   * **Space name:** Unique name (lowercase, 3-63 characters)

5. Click **Create a Space**

### 2. Generate Spaces Access Keys

1. Go to **API** in the left sidebar
2. Scroll to **Spaces Keys**
3. Click **Generate New Key**
4. Enter a name (e.g., `blober-access`)
5. **Copy the Access Key and Secret Key immediately** (secret shown only once!)

### 3. (Optional) Create Personal Access Token

For project-organized Space listings:

1. Go to **API** in the left sidebar
2. Under **Tokens**, click **Generate New Token**
3. Enter a name and select scopes (read access is sufficient)
4. **Copy the token immediately**

### 4. Configure in Blober

1. In Blober, go to **Workflows** => **New Workflow**

2. Select **DigitalOcean Spaces** as source or destination

3. Enter:

   * Access Key
   * Secret Key
   * (Optional) Personal Access Token

4. Test by browsing your Spaces

## Troubleshooting

### "Access Denied" error

* Double-check your Access Key and Secret Key
* Verify the key has permissions for the Spaces you're trying to access
* Make sure you're using **Spaces keys**, not regular API tokens

### Not all Spaces showing up

* Blober checks all 7 DigitalOcean regions to find your Spaces - this may take a moment
* If you provide a **Personal Access Token**, Spaces will load faster and be organized by project
* Newly created Spaces may take a few seconds to appear

### Slow transfers

* Choose a Space in a region geographically close to you
* Transfer speeds depend on your internet connection and the distance to the datacenter

### Cold storage retrieval

* Files in Cold Spaces are retrieved at normal speed but have higher per-request costs
* The storage tier is set at Space creation and cannot be changed afterward

## Best Practices

* **Use a Personal Access Token** alongside your Spaces keys for faster, project-organized listing
* **Choose the right tier** at creation time - Standard for frequently accessed data, Cold for archives
* DigitalOcean Spaces pricing: $5/month for 250 GB storage + 1 TB outbound transfer, then $0.02/GB storage and $0.01/GB transfer
* **Create dedicated Spaces keys** for Blober rather than reusing keys from other applications
* Consider Spaces CDN for publicly served files you access frequently

> **Terms Compliance**
>
> Your use of DigitalOcean Spaces through Blober is subject to [DigitalOcean's Terms of Service](https://www.digitalocean.com/legal/terms-of-service-agreement). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.

## External References

* [Spaces Documentation](https://docs.digitalocean.com/products/spaces/)
* [Creating Spaces Access Keys](https://docs.digitalocean.com/products/spaces/how-to/manage-access/#access-keys)
* [Spaces Regions](https://docs.digitalocean.com/products/platform/availability-matrix/#spaces-object-storage)
* [DigitalOcean Spaces Pricing](https://www.digitalocean.com/pricing/spaces-object-storage)
* [S3 Compatibility](https://docs.digitalocean.com/products/spaces/reference/s3-compatibility/)