AWS S3

Use your own AWS S3 bucket—or any S3-compatible storage such as Cloudflare R2 or MinIO—as the destination for rendered images and template thumbnails. Keep assets in infrastructure you control and serve them from your own domain.

What you can do

  • Upload rendered images and thumbnails to your bucket.
  • Serve assets from a custom CDN domain.
  • Point at S3-compatible providers (R2, MinIO) via a custom endpoint.

Prerequisites

  • An AWS account with an S3 bucket (or an S3-compatible bucket).
  • IAM credentials (Access Key ID + Secret Access Key) with write access to the bucket.
  • The bucket's region.

Connect AWS S3

  1. In Bannx, open Settings → Space → Integrations.
  2. Find AWS S3 and click Connect.
  3. Fill in the fields below and save.
FieldRequiredDescription
Access Key IDYesIAM access key, e.g. AKIA…
Secret Access KeyYesSecret for the access key
RegionYesBucket region, e.g. us-east-1
BucketYesTarget bucket name
CDN URLNoServe files from a custom domain, e.g. https://cdn.example.com
EndpointNoCustom endpoint for S3-compatible providers (R2, MinIO)

S3-compatible providers

For Cloudflare R2, MinIO, or similar, set the Endpoint to the provider's S3 API URL (for example https://<account>.r2.cloudflarestorage.com) and keep the bucket and credentials for that provider.

Grant the minimum permissions needed to write and read objects in the target bucket:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:PutObject", "s3:GetObject"],
      "Resource": "arn:aws:s3:::YOUR_BUCKET/*"
    }
  ]
}

Notes

  • CORS: If assets are loaded by the browser from your CDN/bucket, allow your app origin in the bucket's CORS configuration.
  • Caching: Bannx uploads objects with a long, immutable Cache-Control (object keys are unique), so a CDN in front of the bucket can cache them aggressively.
  • Security: Credentials are stored against your space and used only server-side.