The S3 File Module Provider integrates Amazon S3 and services following a compatible API (such as MinIO or DigitalOcean Spaces) to store files uploaded to your Medusa application.
For AWS S3, the endpoint is of the format https://{bucket}.s3.{region}.amazonaws.com
For MinIO, it's the URL to the MinIO server with the bucket's name. For example, https://{server-domain}/{bucket}. Locally, it may be something like http://192.168.0.123:9001/{bucket}.
For DigitalOcean Spaces, it's either the Origin Endpoint or the CDN endpoint of your Spaces Object Storage bucket.
for Supabase, it's https://{uniqueID}.supabase.co/storage/v1/object/public/{bucket}. You can retrieve the uniqueID from Storage Settings page in the Endpoint URL.
For Cloudflare R2, it's Public R2.dev Bucket URL.
-
access_key_id
The AWS or (S3 compatible) user's access key ID.
-
secret_access_key
The AWS or (S3 compatible) user's secret access key.
-
region
The bucket's region code.
For MinIO, use us-east-1.
For Cloudflare, use auto.
-
bucket
The bucket's name.
-
endpoint
The URL to the AWS S3 (or compatible S3 API) server.
For AWS S3, the endpoint is of the format https://s3.{region}.amazonaws.com
For MinIO, it's the URL to the MinIO server. For example, locally, it may be something like http://192.168.0.123:9001.
For DigitalOcean Spaces, it's the Spaces Origin Endpoint of the format https://{region}.digitaloceanspaces.com.