decap-cms icon indicating copy to clipboard operation
decap-cms copied to clipboard

Add support for AWS S3 as a media library

Open at-himawari opened this issue 6 months ago • 3 comments

Is your feature request related to a problem? Please describe. Currently, there is no built-in support for using AWS S3 as a media library in Decap CMS. This makes it difficult for users who rely on S3 for their media storage to integrate it seamlessly with the CMS. Manually uploading to S3 and pasting the URL is a possible workaround, but it is not an efficient workflow for content editors.

Describe the solution you'd like I would like to request the addition of native support for AWS S3 as a media library. This would involve:

  1. A new configuration option in config.yml to specify S3 as the media library.
  2. Settings for S3 bucket details, such as bucket name, region, and access credentials (using best practices for security, like IAM roles or access keys).
  3. The ability to browse, upload, and delete files in the specified S3 bucket directly from the Decap CMS media library interface.

Describe alternatives you've considered I have considered using other media libraries or manually managing S3 assets, but these solutions lack the convenience and integration of a native S3 media library. A built-in solution would greatly improve the user experience for a significant number of users.

Additional context Many projects already use AWS S3 for its scalability, reliability, and cost-effectiveness. Adding S3 support would make Decap CMS an even more attractive option for developers and content creators who use the AWS ecosystem.

at-himawari avatar Jul 15 '25 03:07 at-himawari

I wonder why there is no interest on this yet. I've been following the jamstack scene since years, and any of the self-hosted CMS alternatives offer it. Been using NetlifyCMS since the begginings. People and freelances often get vendor locked-in, and this could be a solution.

This would unlock a myriad of S3-compatible providers https://rclone.org/s3/

  • Amazon S3
  • Google Cloud Storage
  • DigitalOcean Spaces
  • Azure Storage
  • Cloud Storage for Firebase
  • Alibaba Cloud OSS
  • Wasabi
  • Cloudflare R2
  • Backblaze B2
  • IBM Cloud Object Storage

...to mention some

tercerapersona avatar Sep 04 '25 00:09 tercerapersona

I know it requires a backend side. However, you could define the API contract so that maybe a decap plugin can present those endpoints.

You've already implemented cloud-based specific vendors like Cloudinary, Uploadcare, and Netlify Large Media, which I would understand if NetlifyCMS still belonged to Netlify, as maybe that was just business made with those vendors. However, I wonder, is DecapCMS free now to implement any other vendor?

tercerapersona avatar Sep 04 '25 00:09 tercerapersona

@tercerapersona Decap is no longer affiliated with Netlify. I don't know why the current providers were chosen; it was before my time on the project. Currently, we don't have any business ties with them.

There is no backend required to create a media library plugin, but it has to have a capable API or a library widget to make it work.

The team of maintainers does not have this on the roadmap, but I would be happy to help out on a PR that would add more libraries.

It is also possible to create the plugin as a separate repository and maintain it independently.

martinjagodic avatar Sep 04 '25 07:09 martinjagodic