0.0.1 • Published 3 years ago
@zrpaplicacoes/strapi-provider-upload-do v0.0.1
Strapi Upload Provider for Digital Ocean Spaces
This provider will upload to the space using the AWS S3 API
Parameters
- key : Space access key
- secret : Space access secret
- endpoint : Base URL of the space (e.g. fra.digitaloceanspaces.com)
- space : Name of the space in the Digital Ocean panel.
- 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. cdn.example.com)
How to use
- Install this package using npm or yarn
npm i strapi-provider-upload-dosyarn add strapi-provider-upload-dos- Create config in ./config/pluginswith content (create if not exist (plugins.js))
module.exports = {
  upload: {
    config: {
      provider: "strapi-provider-upload-dos",
      providerOptions: {
        key: process.env.DO_SPACE_ACCESS_KEY,
        secret: process.env.DO_SPACE_SECRET_KEY,
        endpoint: process.env.DO_SPACE_ENDPOINT,
        space: process.env.DO_SPACE_BUCKET,
        directory: process.env.DO_SPACE_DIRECTORY,
        cdn: process.env.DO_SPACE_CDN,
      },
    },
  },
};- Create .envand add to them
DO_SPACE_ACCESS_KEY
DO_SPACE_SECRET_KEY
DO_SPACE_ENDPOINT
DO_SPACE_BUCKET
DO_SPACE_DIRECTORY
DO_SPACE_CDNwith values obtained from tutorial:
https://www.digitalocean.com/community/tutorials/how-to-create-a-digitalocean-space-and-api-key
Parameter DO_SPACE_DIRECTORY and DO_SPACE_CDN is optional and you can ommit them both in .env and settings.
Modify the CSP roules and define the source
config/middlewares.js
module.exports = [
  "strapi::errors",
  {
    name: "strapi::security",
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          "connect-src": ["'self'", "https:"],
          "img-src": [
            "'self'",
            "data:",
            "blob:",
            "*.digitaloceanspaces.com"
          ],
          "media-src": ["'self'", "data:", "blob:"],
          upgradeInsecureRequests: null,
        },
      },
    },
  },
  "strapi::cors",
  "strapi::poweredBy",
  "strapi::logger",
  "strapi::query",
  "strapi::body",
  "strapi::favicon",
  "strapi::public",
];Resources
Links
0.0.1
3 years ago