# Storage Providers

URL: /docs/storage-providers

Source: https://github.com/easypanel-io/monorepo/blob/main/apps/website/content/docs/storage-providers/index.mdx

Configure reusable backup destinations for an Easypanel server.



Storage providers are server-level destinations used by
[Database Backups](/docs/backups/database) and
[Volume Backups](/docs/backups/volumes). Configure them once under
**Settings → Server → Storage Providers**, then select them from a service's
backup configuration.

Only server administrators can create, edit, disconnect, or remove providers.

<Cards>
  <Card href="/docs/storage-providers/s3" title="S3-Compatible Storage" description="Use AWS S3, R2, Spaces, Backblaze B2, Wasabi, or another S3 API" />

  <Card href="/docs/storage-providers/ftp-sftp" title="FTP and SFTP" description="Send backups to a server using password authentication" />

  <Card href="/docs/storage-providers/dropbox" title="Dropbox" description="Connect a Dropbox account through OAuth" />

  <Card href="/docs/storage-providers/google-drive" title="Google Drive" description="Connect a Google Drive account through OAuth" />

  <Card href="/docs/storage-providers/local" title="Local Storage" description="Write backups to a filesystem path on the Easypanel server" />
</Cards>

## Choose a provider [#choose-a-provider]

| Provider      | Good choice when                                            | Important limitation                                                 |
| ------------- | ----------------------------------------------------------- | -------------------------------------------------------------------- |
| S3-compatible | You need durable, remote production storage                 | Credentials and bucket permissions must be configured correctly      |
| SFTP          | You control another server and want an encrypted connection | Easypanel currently supports password authentication, not an SSH key |
| FTP           | A legacy destination only provides FTP                      | FTP does not encrypt credentials or backup traffic                   |
| Dropbox       | You want a simple OAuth-based destination                   | The connected account's quota and token must remain valid            |
| Google Drive  | You want a simple OAuth-based destination                   | The connected account's quota and token must remain valid            |
| Local         | You need a temporary or secondary copy on the server        | It does not protect against failure or loss of that server           |

For production disaster recovery, use a destination outside the Easypanel
server. S3-compatible storage is usually the most predictable option for
retention, lifecycle rules, monitoring, and provider-side versioning.

## Create a provider [#create-a-provider]

1. Open **Settings → Server → Storage Providers**.
2. Select **Add Provider**.
3. Choose a provider type.
4. Enter a descriptive name and the provider-specific connection settings.
5. Save or complete the OAuth authorization.
6. Confirm that the provider appears connected.
7. Create a backup configuration and perform a **Manual Run**.
8. Check its action log and verify the expected file at the destination.

Use names that identify both the provider and environment, such as
`production-r2` or `offsite-sftp`. Provider names appear in backup forms and
action logs.

## What connection validation proves [#what-connection-validation-proves]

When you create or update S3, FTP, or SFTP, Easypanel asks `rclone` to list the
destination. The provider is rejected with **Could not connect** if that command
fails.

This check proves only that Easypanel can authenticate and list the remote root.
It does not prove that the account can upload, download, overwrite, or delete
objects. Dropbox and Google Drive become available after OAuth completes. Local
providers are saved without testing the path.

Always run a manual backup after creating or changing any provider.

## Required permissions [#required-permissions]

The provider account or filesystem path needs the operations used by your
backup workflow:

| Operation | Why Easypanel needs it                                                       |
| --------- | ---------------------------------------------------------------------------- |
| List      | Validate S3, FTP, and SFTP and enumerate files for retention                 |
| Write     | Upload database dumps and synchronize volume data                            |
| Read      | Restore database backups and manually recover volume data                    |
| Delete    | Enforce database retention and remove destination files during a volume sync |

Grant these permissions only within the intended bucket, remote directory, or
filesystem path. A dedicated credential limits the impact of accidental
deletion or disclosure.

## Destination paths [#destination-paths]

A backup configuration adds its **Destination Path** below the provider's base:

* S3 stores it below the configured bucket.
* FTP, SFTP, Dropbox, and Google Drive store it below the connected remote
  root.
* Local stores it below the provider's filesystem path.

Destination paths accept letters, numbers, `/`, `.`, `_`, and `-`. Use a unique
path for every backup configuration:

```text
production/orders-postgres
production/web-uploads
```

This separation matters because database retention considers every file under
its destination path, while volume backups synchronize the destination to match
the source volume.

## Edit, disconnect, or remove a provider [#edit-disconnect-or-remove-a-provider]

Editing connection details affects every backup configuration that references
the provider. Run each important configuration manually after changing
credentials, endpoints, or paths.

Dropbox and Google Drive can be **Disconnected** without removing the provider.
Disconnecting revokes the authorization and makes the provider unavailable for
backups until it is connected again.

<Callout type="warn">
  Removing a provider deletes its configuration from Easypanel and causes backup
  configurations that reference it to fail. It does not delete files already
  stored at the destination.
</Callout>

Before removal, identify dependent backup configurations and move them to
another tested provider.

## Operational checklist [#operational-checklist]

* Keep the destination outside the Easypanel server.
* Use a dedicated account or credential with scoped permissions.
* Enable provider-side versioning when available, especially for volume
  mirrors.
* Monitor destination capacity, quota, and authentication failures.
* Review backup action logs rather than assuming a schedule succeeded.
* Test a restore into non-production data.
* Rotate credentials deliberately and retest every dependent configuration.
