Local Storage
WhenSTORAGE_PROVIDER is unset or set to local, Ragen writes files to the path defined by STORAGE_LOCAL_PATH.
.env
S3-Compatible Storage
SetSTORAGE_PROVIDER=s3 to use any S3-compatible object store. Ragen uses the S3_ prefix for all storage credentials — intentionally different from AWS_ — so you can run Bedrock or KMS at the same time without the two credential sets conflicting.
All variables in this section use the
S3_ prefix, not AWS_. The AWS_ prefix is reserved for real AWS services like Bedrock and KMS. This means you can use Scaleway Object Storage for files while simultaneously using AWS Bedrock for model calls, without either credential set interfering with the other.Required Variables
Optional Variables
Configuration by Provider
- AWS S3
- Scaleway Object Storage
- Cloudflare R2
- MinIO / Ceph
- LocalStack
Leave
S3_ENDPOINT_URL unset to use AWS’s default regional endpoint..env
Bundled object storage: RustFS
The repository’sdocker-compose.yml includes RustFS, an S3-compatible object store, behind the opt-in s3 profile. It gives you object storage on your own machine, with no cloud account. To Ragen it is an ordinary S3 store: STORAGE_PROVIDER=s3, pointed at localhost.
With the installer
Answer RustFS — self-hosted object storage, started with the stack to the storage question increate-ragen-app. The installer then:
- generates an access key and a secret;
- writes them to
.envfor Compose, and the same pair to.env.localas theS3_*variables the apps read; - starts the
s3profile together with the rest of the stack.
.env, because the store holds your files under those keys.
By hand
Put the keys in two files: Compose reads.env, and the apps on the host read .env.local.
.env
.env.local
Running the apps in containers too? With
npm run ragen:up:everything, the apps reach RustFS by its service name, not by localhost. Put the S3_* variables in .env as well, and set S3_CONTAINER_ENDPOINT_URL=http://rustfs:9000. The full-app Compose file uses it in place of S3_ENDPOINT_URL. The installer writes both for you.ragen, so keep S3_BUCKET_NAME=ragen unless you create a different bucket yourself.
Compatible Providers
AWS S3
The reference implementation. Leave
S3_ENDPOINT_URL unset.Cloudflare R2
Zero egress fees. Set
S3_REGION=auto and your account endpoint URL.Scaleway Object Storage
S3-compatible European object storage. Requires
S3_FORCE_PATH_STYLE=1.RustFS
Bundled with the repository’s Compose file, behind the
s3 profile. Requires S3_FORCE_PATH_STYLE=true.MinIO
Self-hosted S3-compatible storage. Requires
S3_FORCE_PATH_STYLE=1.Ceph
Distributed object storage for on-premise deployments. Requires
S3_FORCE_PATH_STYLE=1.LocalStack
Local AWS emulation for development and testing.