How to Migrate Spaces with Flexify.IO

Spaces Object Storage is an S3-compatible object storage service. Spaces buckets let you store and serve large amounts of data, and the built-in CDN minimizes page load times and improves performance.


To get started with Spaces, you may have some existing data that you need to move into Spaces “buckets” from other locations outside of DigitalOcean. While you cannot natively import or export buckets with DigitalOcean Spaces, you can do so with Flexify.IO. This platform allows you to migrate data between different online storage accounts and virtual endpoints.

Set Up Flexify.IO

You can set up Flexify.IO for migration with either of the following methods:

  • Visit the Flexify.IO website and set up a paid self-service or managed service subscription. This method has no data limits and provides the maximum transfer rate supported by the network. This method is best for migrating 1 TB of data or more.
  • Click the Deploy to DO button below to create a new Droplet with a free version of Flexify from the DigitalOcean Marketplace. This method is limited by the transfer rate of the Droplet you select and is typically best for migrating less than 1 TB of data.

Deploy to DO

If you clicked the button above, create the Droplet as you normally would. For additional details on this process, see How to Create a Droplet. Once the Droplet is finished creating, go to the control panel, find the newly-created Droplet, and click Get Started next to the Flexify.IO logo and create a Flexify.IO account.

The Droplets page in the DigitalOcean control panel, which shows clickable text reading Get started

Set Up Storage Accounts

If you deployed to DigitalOcean with the button above, log in to the Flexify.IO dashboard by entering the Droplet’s IP address into the browser and entering your login information. Otherwise, follow Flexify.IO’s instructions based on your chosen plan to log in to the dashboard.

Once in the dashboard, you can add your Spaces buckets. Go to the Data page in the left navigation and click Add Storage Account.

The add storage account modal in the Flexify.IO dashboard

Then, enter the following information:

  1. In the Storage Provider dropdown, select DigitalOcean.
  2. In the Product dropdown that appears, select Spaces in your bucket’s region.
  3. Under Access Key ID and Secret Access Key, enter your Spaces access key and secret key. For more information on these, see our guide on access keys.
  4. Optionally, using each bucket’s name, specify which buckets you want to migrate to or from. If you do not specify, Flexify.IO still lists all bucket associated with your access keys in the following step.

Finally, click Add Storage Account and wait for the process to complete.

Repeat this same process to add any other storage accounts from other providers that you want to migrate to or from.

Create Endpoints

Flexify.IO also allows you to create virtual endpoints, which can serve files from all attached storage accounts. By using a virtual endpoint, your S3 application can always access all files regardless of where they are in the migration process. To create an endpoint, go to the Endpoints page in the left navigation and click New Endpoint. Here, you can click the Attach button to attach any number of storage accounts to the endpoint.

After creating an endpoint, you can access its IP and access keys by clicking Settings.

Migrate Data

After you have added all storage accounts and endpoints, you can begin migration. Go to the Migrations page in the left navigation and click New Migration.

Click the From dropdown and select the bucket or endpoint to migrate data from. Then, click the To dropdown and select the bucket or endpoint to migrate data to.

The copy data/migration modal in the Flexify.IO dashboard

By default, Flexify.IO copies all data from the source bucket to the target bucket or endpoint, which is suitable for full migrations. However, if you would like to only transfer certain data, you can click Advanced settings further configure the migration.

Once you have configured the migration to your liking, click Start Migration. To monitor the migration process, find the migration in the Migrations page and click the Log button. Once the migration is finished, verify that the target bucket or endpoint has all the data you designated for transfer.

If you do not want to migrate any more data, you can delete the Droplet you created by following our guide, How to Destroy a Droplet.