Jump to content
Kurtis Houser

How to configure DigitalOcean Spaces? A bug perhaps?

Recommended Posts

First, I don't think JReviews is generating the correct path to the media files. Or I've setup my Spaces differently than expected.

The values entered into the bucket fields are prepended to the Endpoint. So, for example, if I add just 'photos' to the the Photos bucket field JReviews is looking for the files in:

https://photos.sfo2.digitaloceanspaces.com/thumbnail/200x200c/9a/c9/e1/br-cohn-winery-24-1469739037.jpg

For my Spaces I created one with the name itasteit. At the root level is a folder named test (for the test site) that will contain the folders (attachments, photos, etc.) for the JReviews media files.

I have Cyberduck configured to access my DigitalOcean Spaces and that application provides several URLs that can be used to access the files are. Two of them are:

https://sfo2.digitaloceanspaces.com/itasteit/test/photos/thumbnail/200x200c/9a/c9/e1/br-cohn-winery-24-1469739037.jpg

https://itasteit.sfo2.digitaloceanspaces.com/test/photos/thumbnail/200x200c/9a/c9/e1/br-cohn-winery-24-1469739037.jpg

Because JReviews is prepending rather than appending to the endpoint I don't see anyway to get JR to generate the correct URL (unless I create a completely separate Space for each media type). Perhaps this is a bug? Or I'm missing something...

Also, the JR admin panel mentions that DigitalOcean recommends using a 3rd party CDN service. DO Spaces now has its own CDN.

Thanks,

Kurtis

Share this post


Link to post

I don't have an active configuration for this that I can quickly review. If you want to provide access via ticket I am happy to check there. However, the other thing you can try is actually specifying the CDN URLS in the JReviews media settings so you can tell it to  use "https://itasteit.sfo2.digitaloceanspaces.com/test" or "https://itasteit.sfo2.digitaloceanspaces.com/test/photos" as the domain.

Share this post


Link to post

Thanks. I just checked this and it was a misconfiguration issue. I updated the settings on your site and was able to upload a photo which displays without error. It also works with the CDN. So basically, the problem was that you added paths to both the space setting and the CDN setting when there should be no paths added. If your photos space name is "itasteit". Then you write that in the photos space setting. For the CDN URL, if you want to use the CDN, you use "https://itasteit.sfo2.cdn.digitaloceanspaces.com", also without any extra paths. JReviews takes care of all that. You can either use the same space for everything, or you also have the option of creating a different space for each media type if you prefer to have them organized separately. You can in fact create multiple spaces for the same $5/month.

Share this post


Link to post

Thanks for the clarification.

Since this is a migration of media from an existing site the other issue I encountered was that of file permissions.

I used Cyberduck to upload everything to the individual Spaces I created for each media type. By default all files are private. There's no way to change this to public in bulk through the Spaces Control Panel so it needs to be done through Cyberduck. Other file managers such as Transit for Mac can do this as well. Be warned though! This takes a very long time if you have a large number files. At least that was my experience attempting this with Cyberduck.

The better option is to use the command line tool s3cmd. DigitalOcean has some good articles on installation and use.
https://www.digitalocean.com/docs/spaces/resources/s3cmd/
https://www.digitalocean.com/docs/spaces/resources/s3cmd-usage/

I highly recommend using this tool. You can upload an entire directory and change the permissions all at the same time. See the usage article above for examples.

Cheers!

Kurtis

Share this post


Link to post

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Please refer to our Privacy Policy.