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

October 11, 2017 10.5k 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?

6 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 nyc3.digitaloceanspaces.com. 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 one…no matter what, I always get a big red square.

I’ve seen some posts about Spaces not being compatible with NextCloud 13 (https://github.com/nextcloud/server/issues/7789). 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:
    Host: sfo2.digitaloceanspaces.com
    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 https://bucket1.sfo2.digitaloceanspaces.com. 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 sfo2.digitaloceanspaces.com. 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.

  • I was running into this same problem, but got it to work.

    This is my config:

    bucket: {YOURSPACESNAME}
    host: sfo2.digitaloceanspaces.com
    region: sfo2

    This seems to be working for me, hope it works for you!

Is it possible to add only a folder in a space? I have my space set as primary storage but I’d like to have more granular control over who sees what folders. If I could add folders individually, I could set group access rights to each folder.

Unfortunately NextCloud’s group folders app only works at the root level so any folders I make in it don’t show up at all if i’m using a space for primary.

I love this setup so far, I just don’t want to have to pay for a new space just to give each person a private folder!

  • Answered my own question!

    You can’t use group folders, but you can use the file access control app. I was using it backwards. I thought I was whitelisting, but it’s a combo. So, for “family” you are blocking those who aren’t in the family group but are tagged with the “family” tag, which you can create in settings under workflow. “Private” is the tag you’re looking to make.

    Just remember to think it out a bit before you start making the rules and tagging your folders. Make sure your admin permissions are thought out otherwise you’ll lose access until you figure it out!

    Another note for spaces, it seems as if once I make a folder, I only get one chance to adjust the tags because the details blade disappears afterwards. Normally you can click the menu icon and hit details, but It doesn’t seem to show up in external drives, or at least for spaces.

    I hope this saves some folks some time! It took me longer than I care to admit to figure this one out.

    Cheers!

    Stratus

Have another answer? Share your knowledge.