Is it possible to mount DO Spaces as external storage in Nextcloud as I mount AWS S3 storage?

October 11, 2017 7.9k views
Object Storage

I'm using $5 Droplet for my Nextcloud instance. It is possible to mount AWS S3 buckets in Nextcloud as an external storage. So is it possible to mount Spaces as S3?

5 Answers
asb MOD October 11, 2017
Accepted Answer

Yes! Spaces was designed to be compatible with S3 in order to take advantage of existing integration just like this. In order to mount a Space for external storage, you first need to enable the External Storage Support plugin just as you would for S3.

Next, add a new mount from the External Storages menu in the Admin panel. In the Bucket field, add the name of your Space. In the Host field, enter In the Region field, use nyc3. You can fine the needed Access Key and Secret Key for your Spaces account on the Applications & API page of the DigitalOcean control panel. Finally, make sure to select Enable SSL. When successfully configured, a green dot should appear:

External storage

Additionally, you might want to enable sharing. This can be done the the Advanced Settings which can be accessed by click the "cog" icon on the right:

Enable sharing

I cannot get this to work. I've followed the DO tutorial for installing Nextcloud on Ubuntu 16.04 and now this matter what, I always get a big red square.

I've seen some posts about Spaces not being compatible with NextCloud 13 ( Wondering if anyone else has this working with the latest version of NC.

  • Worked great for me on NextCloud 15 using Ubuntu 18. Keep in mind your Host and Region might be different from what @asb posted above. Go to your Spaces and then Settings and scroll down to where you see "Endpoint". Copy this for your Host. Use just the subdomain for your Region.

    For example if you choose a San Fran datacenter it might look like this:
    Region: sfo2

@asb Unfortunately, this solution is not working for me. I configured a space first (bucketname e.g. bucket1), but NextCloud is trying to PUT a bucket of that name for storage. The bucket name already exists, so the configuration fails. "Creation of bucket 'bucket1' failed. Error executing Create Bucket on 409 Conflict Bucket Already Exists." From what I can tell, the S3 configuration in NextCloud is expecting to be able to create buckets, but when you use a space, the space itself is already a Bucket, so NextCloud is unable to create it. If you put a Space that doesn't exist as the bucket name, it gives a 403 permission denied, because you can't create buckets in spaces through the API, or at least not through how NextCloud is trying to do it.

For Folder Name I've tried "/" and "AmazonS3." Bucket is 'bucket1'. Hostname is Port is left empty. Region is sfo2. Enable SSL is selected. Not sure what else to try. If that doesn't work I probably can't use Spaces for this, which I'd like to.

Have another answer? Share your knowledge.