Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an S3-compatible driver for storing files and cover images #1970

Open
tomascohen opened this issue Aug 8, 2024 · 0 comments
Open

Add an S3-compatible driver for storing files and cover images #1970

tomascohen opened this issue Aug 8, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@tomascohen
Copy link
Contributor

It would be great if we could choose between different drivers to store the uploaded data.

Files are a special case when it comes to backups, they need to be processed incrementally, with some CPU/load cost on production sites. Storing them on the DB will hit the DB and take away valuable (internal) bandwidth and doesn't help with caching.

Each mechanism has pros and cons. What I would like is implementators to be able to choose what fits for them.

One example we have at Theke: We use DigitalOcean which provides the Spaces tool. It allows storing digital assets in a very cheap fashion. And you can enable a Space to work on CDN mode, meaning it will generate a static URL for retrieving your digital asset.

It is not only cheap, but also reduces the server overhead (leveraging on DO's infrastructure instead) and also lowers the backup strategy mess for us.

There are other providers (e.g. Azure, etc) with their own protocols. But having the code refactored so there can be many implementations using different providers/protocols, while keeping support for the current local files dir would be great.

I picked the S3 protocol because that's what we need, but happy to discuss others, or come up with a good design that allows easily implementing any required protocol by interested parties!

@tomascohen tomascohen added the enhancement New feature or request label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant