I am currently using Channel Images 7.5.5 and Assets 4.1.3 in conjunction with ExpressionEngine 7.2.12.
Many of these EEharbor add-ons, as well as others, require access to Amazon S3, which entails providing the access_key_id and secret_access_key Amazon S3 pair to connect to the account. This includes specifying the bucket to use, its location, and the region in which it is located.
However, there are now affordable alternatives available that offer unlimited free transfer to AWS S3 and other vendors (as MinIO, Ceph, Zenko...). I have my own S3-Compatible API, which includes its own S3 URL server.
So, what would be the best solution for Assets and Channel Images (and presumably other add-ons as well)? I believe it would involve changing the existing Amazon S3 URL to the S3-Compatible API URL.
How to modify in Channel Images or Assets the Amazon S3 server url? It is located on the add-ons files or inside the database ?
Inside the Assets addon exists the Assets_s3.php, where the Amazon S3 url variable is defined.
$endpoint = 's3.amazonaws.com'
After a regex code function substitute the prefix s3 with the region name, 'us-east-1' by default.
So I will try to substitute s3.amazonaws.com by the own S3-Compatible url, and try to implement the usc1 region prefix (US central)
Or exist other solutions ?