Enhanced AWS S3 provider for Strapi uploads: thumbnails, image compression, WebP format, custom domain.
yarn add strapi-provider-upload-aws-s3-enhanced
Update your config/plugins.js
:
module.exports = ({ env }) => ({
upload: {
provider: 'aws-s3-enhanced',
providerOptions: {
accessKeyId: env('AWS_ACCESS_KEY_ID'),
secretAccessKey: env('AWS_ACCESS_SECRET'),
region: env('AWS_REGION'),
params: {
Bucket: env('AWS_BUCKET'),
},
customDomain: env('CDN_DOMAIN'),
endpoint: env('CUSTOM_S3_ENDPOINT'), // For third-party S3-compatible storages
prefix: null,
quality: 80,
webp: true,
accessLevel: env('ACCESS_LEVEL'), // Default set to: 'public-read'
thumbnails: [
{
name: 'custom',
options: {
width: 1200,
withoutEnlargement: true,
},
},
{
name: 'preview',
options: {
width: 500,
height: 300,
fit: 'cover',
},
},
],
},
},
});
MIT License