# Storage Providers

Sentinel stores two kinds of data outside the database: **file uploads** (from [Forms](/docs/sentinel/configure/forms/#form-settings) with uploads enabled) and **database snapshots** (see [Backups & Recovery](/docs/sentinel/operations/backups-recovery/)). Each is configured independently — you can send uploads to S3 while keeping snapshots local, for example.

This page covers the storage provider for **uploads**; see [Backups & Recovery](/docs/sentinel/operations/backups-recovery/#automated-snapshots) for the equivalent `SNAPSHOTS_STORAGE_*` variables.

## Local file system (default)

```
STORAGE_PROVIDER=local
STORAGE_LOCAL_DIR=uploads
```

Files are stored under `{DATA_DIR}/storage` by default — make sure this is on a persistent volume, or uploads won't survive a container restart.

## AWS S3 (and S3-compatible)

Works with AWS S3 as well as S3-compatible services like MinIO or Cloudflare R2:

```
STORAGE_PROVIDER=s3
STORAGE_S3_URL=https://s3.eu-west-1.amazonaws.com/?bucket=my-bucket&prefix=uploads
```

Or with discrete credentials: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, alongside `bucket`/`prefix`/`region` as URL parameters.

## Azure Blob Storage

```
STORAGE_PROVIDER=azure
STORAGE_AZURE_CONTAINER=my-container
STORAGE_AZURE_CONNECTION_STRING=...
```

## Related

- **[Backups & Recovery](/docs/sentinel/operations/backups-recovery/)** — the separate, snapshot-specific storage configuration.
- **[ENV Variables](/docs/sentinel/operations/env-variables/#file-storage)** — full variable reference.
- **[Install on Azure App Services](/docs/sentinel/install/azure/#persistent-storage)** and **[Install on AWS ECS](/docs/sentinel/install/aws/)** — platform-specific persistence setup.
