5.0.2 • Published 1 year ago

@breezertwo/strapi-provider-upload-digitalocean v5.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Strapi Upload Provider for Digital Ocean Spaces

This provider will upload to the space using the AWS S3 API. Strapi v5 ready and AWS Client SDK v3.

Parameters

  • key : Space access key
  • secret : Space access secret
  • endpoint : Base URL of the space (e.g. https://fra.digitaloceanspaces.com)
  • space : Name of the space in the Digital Ocean panel. (e.g. myspace)
  • directory : Name of the sub-directory you want to store your files in. (Optionnal - e.g. /example)
  • cdn : CDN Endpoint - URL of the cdn of the space (Optionnal - e.g. https://fra.cdn.digitaloceanspaces.com)

How to use

1. Install this package

npm i @breezertwo/strapi-provider-upload-digitalocean

2. Create or update config in ./config/plugins.js of your strapi project

module.exports = ({env}) => ({
  // ...
  upload: {
    config: {
      provider: "@breezertwo/strapi-provider-upload-digitalocean",
      providerOptions: {
        key: env('DO_SPACE_ACCESS_KEY'),
        secret: env('DO_SPACE_SECRET_KEY'),
        endpoint: env('DO_SPACE_ENDPOINT'),
        space: env('DO_SPACE_BUCKET'),
        region: env('DO_SPACE_REGION'),
        directory: env('DO_SPACE_DIRECTORY'),
        cdn: env('DO_SPACE_CDN'),
      }
    },
  },
  // ...
})

3. Create or modify .env and add Digital Ocean env variables.

DO_SPACE_ACCESS_KEY=
DO_SPACE_SECRET_KEY=
DO_SPACE_ENDPOINT=
DO_SPACE_BUCKET=
DO_SPACE_REGION=     #Optional (defaults to fra1)
DO_SPACE_DIRECTORY=  #Optional
DO_SPACE_CDN=        #Optional

4. Change security setting in middleware.js to allow image thumbnails beeing loaded in strapi dashboard

module.exports = ({ env }) => ({
  // ...
  {
    name: "strapi::security",
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          "connect-src": ["'self'", "https:"],
          "img-src": [
            "'self'",
            "data:",
            "blob:",
            "<you digital ocean space endpoint or cdn domain>",
          ],
          "media-src": [
            "'self'",
            "data:",
            "blob:",
            "<you digital ocean space endpoint or cdn domain>",
          ],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  // ...
})

Links

5.0.2

1 year ago

5.0.1

1 year ago

5.0.0

1 year ago