ARI.Software Docs

Storage

Configure where uploaded files like photos and documents are stored.

Overview

ARI includes a central file storage system used by modules to store uploads such as photos, documents, and other files. You can choose where those files are physically stored by selecting a storage provider in Settings > Storage.

New modules use the selected provider by default unless they specify otherwise.


Choosing a Provider

ARI supports four storage providers. Select one from the Provider dropdown, fill in any required fields, and click Save.

Local Filesystem

The default provider. Files are stored on the same server that runs ARI, inside the data/storage/ directory.

  • No configuration required -- works out of the box.
  • Storage path: data/storage/{user_id}/{bucket}/
  • Best for local development or self-hosted deployments with persistent disk.
  • Not available on serverless platforms like Vercel (no persistent disk).

AWS S3

Store files in an Amazon S3 bucket.

Field Required Notes
Access Key ID Yes IAM access key with S3 read/write permissions
Secret Access Key Yes Corresponding IAM secret key
Bucket Name Yes Lowercase, alphanumeric, hyphens, and dots only
Region Yes e.g., us-east-1
Custom Endpoint No Override for S3-compatible services

Cloudflare R2

Store files in a Cloudflare R2 bucket. R2 is S3-compatible with no egress fees.

Field Required Notes
Account ID Yes Your Cloudflare account ID
Access Key ID Yes R2 API token access key
Secret Access Key Yes R2 API token secret key
Bucket Name Yes Lowercase, alphanumeric, hyphens, and dots only

Supabase Storage (S3)

Store files in Supabase Storage using its S3-compatible API.

Field Required Notes
S3 Endpoint Yes e.g., https://xxx.supabase.co/storage/v1/s3
Access Key ID Yes Supabase S3 access key
Secret Access Key Yes Supabase S3 secret key
Bucket Name Yes Name of an existing Supabase storage bucket
Region No Defaults to us-east-1 if not set

Security

  • Credentials are encrypted at rest. Secret access keys are encrypted before being saved to the database and are never exposed in plain text through the UI.
  • Masked display. Saved secrets appear as ABCD••••••••WXYZ in the settings form. You only need to re-enter a secret if you want to change it.
  • All file access is authenticated. Files are served through ARI's API (/api/storage/serve/...) and require a valid session. There are no public file URLs.
  • Maximum file size: 25 MB per upload (default).

Using Environment Variables

You can manage storage configuration outside the UI by adding variables to your .env.local file. Environment variables take precedence over values saved through the UI. Visit the Storage tab on the Settings page to find the correct key names for your chosen provider.

Switching Providers

You can change your storage provider at any time. Note that switching providers does not migrate existing files -- files already uploaded remain in the original provider's storage. New uploads will go to the newly selected provider.

Your Personal Workspace. Your Rules.

Open Source. Self-Hosted. Full Data Control. Fully Extendable. AI Native. Dozens of Built-In Modules And Build Your Own In Minutes. No Coding Required.

Download