3.1.0 • Published 4 years ago

strapi-provider-upload-ts-minio v3.1.0

Weekly downloads
29
License
MIT
Repository
github
Last release
4 years ago

Conventional Commits

strapi-provider-upload-ts-minio

This upload provider for Strapi uses the JavaScript Minio.Client to upload files to a (self hosted) instance of Minio.

It's compatible with the the strapi 3.1.1.

Installation and basic usage

npm i strapi-provider-upload-ts-minio

Add in config/plugins.js something like this:

Minimal config

// File: ./config/plugins.js

module.exports = ({ env }) => ({
  upload: {
    provider: 'ts-minio',
    providerOptions: {
      accessKey: env('MINIO_ACCESS_KEY'),
      secretKey: env('MINIO_SECRET_KEY'),
      bucket: env('MINIO_BUCKET'),
      endPoint: env('MINIO_ENDPOINT'),
    },
  },
});

Advanced config

// File: ./config/plugins.js

module.exports = ({ env }) => ({
  upload: {
    provider: 'ts-minio',
    providerOptions: {
      accessKey: env('MINIO_ACCESS_KEY'),
      secretKey: env('MINIO_SECRET_KEY'),
      bucket: env('MINIO_BUCKET'),
      internalEnpoint: env('MINIO_INTERNAL_ENDPOINT'), 
      externalEnpoint: env('MINIO_EXTERNAL_ENDPOINT'), 
      port: parseInt(env('MINIO_PORT'), 10) || 9000,
    },
  },
});

Run Strapi with env:

Run Strapi with env:

MINIO_INTERNAL_ENDPOINT=https://play.minio.io:1234 \
MINIO_EXTERNAL_ENDPOINT=https://cdn.minio.io \
MINIO_ACCESS_KEY=username \
MINIO_SECRET_KEY=Q.ixuW@JGV!*ENWH9Ut62B!3 \
MINIO_BUCKET=bucketname \
  npm run start

From the providers list select Minio Server

NOTE: bucket policy must be set to allow your file to be readable. (just set it to: prefix *, readonly)

Config

There are only a couple of settings one has to provide to make it work. The following config settings are available:

Config LabelInternal NameValue
Access API TokenaccessKeystring
Secret Access TokensecretKeystring
Bucketbucketstring
EndpointendPoint/endpointstring
Internal EndpointinternalEndpointstring
External EndpointexternalEndpointstring
Portportstring
SSLuseSSLstring(true for ssl, anything else for false)
Folderfolderstring

Thanks for examples

Links

Write me and I help you if you have a problems

Sponsorship

Contributors ✨

Thanks goes to these wonderful people (emoji key):

License

This project is licensed under the MIT License - see the MIT License file for details