> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zmeel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Storage

> Configure where Zmeel stores file attachments and artifacts — local disk or S3-compatible object storage.

Zmeel stores file attachments and employee-generated artifacts in object storage. Two providers are supported.

## Providers

| Provider               | Best for                                |
| ---------------------- | --------------------------------------- |
| `local_disk` (default) | Local single-user installs              |
| `s3`                   | Cloud deployments, multi-user instances |

## Configure storage

```bash theme={null}
zmeel configure --section storage
```

The interactive prompt walks you through selecting a provider and entering any required settings.

## local\_disk

The default for local installs. Files are written to:

```
~/.zmeel/instances/default/data/storage/
```

No additional configuration required.

<Warning>
  `local_disk` is not suitable for cloud or multi-user deployments. Use S3 if you're running Zmeel on a server or sharing it across a team.
</Warning>

## S3-compatible storage

Works with AWS S3, Cloudflare R2, MinIO, and any S3-compatible service.

You'll need:

| Setting           | Description                                     |
| ----------------- | ----------------------------------------------- |
| Bucket name       | The S3 bucket to use                            |
| Region            | AWS region (or equivalent)                      |
| Access key ID     | S3 access key                                   |
| Secret access key | S3 secret                                       |
| Endpoint URL      | Required for non-AWS providers (e.g. R2, MinIO) |

<Tip>
  Cloudflare R2 is a cost-effective S3-compatible option with no egress fees. Set the endpoint to your R2 account URL (e.g. `https://<account-id>.r2.cloudflarestorage.com`).
</Tip>
