STORAGE_* variables to switch to any S3-compatible provider.
There is no fallback to
S3_-prefixed names. Only the exact STORAGE_* names
below are read.Parameters
Quick-start configs
- AWS S3
- Cloudflare R2
- MinIO (self-hosted)
- Other S3-compatible
- Production (with timeouts)
STORAGE_ENDPOINT needed for AWS S3.Parameter reference
string
default:"auto"
S3 region identifier. Defaults to
auto, which is what Cloudflare R2 expects,
so AWS and other region-bound providers need this set explicitly.us-east-1 · eu-west-1 · auto (Cloudflare R2)string
required
Access key ID for your storage provider.
string
required
Secret access key for your storage provider.
string
required
Name of the bucket where files are stored.
string
Custom endpoint for non-AWS S3-compatible providers. Omit for standard AWS S3.
string
Public base URL used to construct file URLs. Set this to your CDN or custom domain when you don’t want to expose raw S3 URLs.
https://cdn.example.com · https://my-bucket.s3.us-east-1.amazonaws.comAdvanced parameters
integer
default:"50"
Max simultaneous HTTP connections to the storage provider. Increase if you see connection pool exhaustion under load.
50 (default) · 100 (high traffic) · 25 (low resource)integer
default:"0"
Connection timeout in ms.
0 = no timeout.0 · 5000 (5 s) · 10000 (10 s)integer
default:"0"
Request timeout in ms.
0 = no timeout. For large uploads, use 300000 (5 min) or higher.0 · 30000 (30 s) · 300000 (5 min)integer
default:"0"
TCP socket timeout in ms.
0 = no timeout.0 · 60000 (1 min) · 120000 (2 min)Related
Quick Start
Run Openinary with local or S3 storage.
Upload & Cache Warming
Upload files and prewarm transformation cache.