A File Store is a named location where the platform stores uploaded files. Every File Upload field on every datastore picks which File Store to use. You can have multiple file stores — perhaps one per customer tenant, one for public files, one for private documents, one for archive — and each can have its own storage backend, permissions, and lifecycle.
Storage modes
The platform supports two storage backends:
Local
Files live on the web server's filesystem. The platform writes them under a configured path (typically inside the web root for public files or outside for private files).
Simpler to set up — no AWS account needed, no per-GB costs, no networking concerns. Suitable for single-server installs with modest file storage needs.
Doesn't scale across multiple web servers — each server has its own filesystem, so a file uploaded to server A won't be visible to server B. Backup is your responsibility (no automatic replication).
S3
Files live in AWS S3 (or any S3-compatible storage service like MinIO, DigitalOcean Spaces, or Cloudflare R2). The platform reads and writes via the AWS SDK.
Scales infinitely. Built-in replication, lifecycle policies (auto-archive to cheaper storage tiers), versioning, encryption. Works with multi-server deployments out of the box — every server reads from the same S3 bucket.
Requires an AWS account and pays per-GB storage + per-request costs. Slight latency overhead per file access (network call vs filesystem read).
Where to manage them
Architect Panel → File Stores. The list shows every configured File Store with its name, storage mode, and statistics (file count, total size).
Three real-world File Store configurations
Example 1: Single S3 bucket for everything
One File Store backed by one S3 bucket. All uploaded files across all datastores land here. Simple to manage; suitable for small-to-medium installs where file segregation isn't critical.
Example 2: Per-tenant File Stores
For multi-tenant installs with strict data-isolation needs, each tenant gets their own File Store backed by their own S3 bucket (or a per-tenant prefix in a shared bucket). Tenant files never cross over even at the storage layer.
Example 3: Public/private split
Two File Stores. "Public Assets" backed by an S3 bucket with public-read ACLs — for product images, marketing assets. "Private Documents" backed by a private bucket with restricted access — for contracts, IDs, sensitive uploads. File Upload fields on different datastores pick whichever store is appropriate.