Skip to main content
Set STORAGE_BACKEND to choose where files are stored.

Memory

In-memory and ephemeral — files are lost on restart. Good for development and testing.

Local Disk

Files are written to disk. Make sure the directory exists and is writable. Use a persistent volume in Docker.

Google Cloud Storage

Uses Application Default Credentials. In GCE/Cloud Run, this works automatically. Locally, run:

Amazon S3

Uses the standard AWS SDK credential chain (environment variables, ~/.aws/credentials, IAM role, etc.). Works with any S3-compatible storage like MinIO, Cloudflare R2, or DigitalOcean Spaces — set AWS_ENDPOINT_URL to point to your provider.
For production, use local, gcs, or s3. The memory backend is only for development.