# How to Migrate from Wasabi to Quake AI

Source: https://docs.quake.ai/docs/object/migration/migrate-from-wasabi
Markdown: https://docs.quake.ai/docs/object/migration/migrate-from-wasabi.md

---

# How to migrate from Wasabi to Quake AI

Both Wasabi and Quake AI use S3-compatible APIs. rclone copies data directly between endpoints with no local staging required.

## Prerequisites

- A Quake AI account with [S3 credentials](/docs/object/how-to/create-s3-credentials)
- Wasabi access and secret keys (generated in the Wasabi Console under **Access Keys**)
- [rclone](https://rclone.org/install/) installed (v1.65+)

## Before you start

Read the [migration planning guide](/docs/object/migration/plan-your-migration) for the S3/Swift compatibility matrix.

**Wasabi-specific considerations:**

- **No egress fees** (with conditions): Wasabi does not charge per-GB egress fees. Your monthly downloads must stay at or below your active storage volume, and Wasabi caps monthly downloads at 100 TB regardless of how much you store. If you exceed either limit, Wasabi limits or suspends service rather than billing overage. Migrate while your data is still stored on Wasabi to keep downloads within this 1:1 ratio.
- **90-day minimum storage duration**: Wasabi bills a minimum of 90 days for each object. Objects deleted before 90 days are charged for the remaining duration. Factor this into your decommission timeline: deleting data immediately after migration may not save money.
- **Region-specific endpoints**: Wasabi uses region-specific endpoints (e.g., `s3.wasabisys.com`, `s3.us-east-2.wasabisys.com`, `s3.eu-central-1.wasabisys.com`). Use the endpoint matching your bucket's region.

## Configure rclone remotes

```ini
[wasabi]
type = s3
provider = Wasabi
access_key_id = YOUR_WASABI_ACCESS_KEY
secret_access_key = YOUR_WASABI_SECRET_KEY
endpoint = s3.wasabisys.com
region = us-east-1

[quakeai]
type = s3
provider = Ceph
access_key_id = YOUR_RUMBLE_ACCESS_KEY
secret_access_key = YOUR_RUMBLE_SECRET_KEY
endpoint = object.us-east-2.rumble.cloud
acl = private
```

Replace endpoints with your respective regions.

Verify:

```bash
rclone lsd wasabi:
rclone lsd quakeai:
```

## Create the destination bucket

```bash
rclone mkdir quakeai:my-bucket
```

## Run the migration

### Initial copy

```bash
rclone copy wasabi:my-source-bucket quakeai:my-bucket \
  --transfers 16 \
  --checkers 32 \
  --s3-chunk-size 64M \
  --progress \
  --log-file migration.log \
  --log-level INFO
```

### Delta syncs

```bash
rclone sync wasabi:my-source-bucket quakeai:my-bucket \
  --transfers 16 \
  --checkers 32 \
  --progress
```

Schedule daily until cutover.

## Verify the migration

```bash
rclone size wasabi:my-source-bucket
rclone size quakeai:my-bucket
```

Check file integrity:

```bash
rclone check wasabi:my-source-bucket quakeai:my-bucket \
  --one-way \
  --log-file check.log
```

See the [validation checklist](/docs/object/migration/plan-your-migration#validation-checklist) for the full procedure.

## Cut over

1. Run a final `rclone sync`.
2. Update your application's S3 endpoint configuration. See [update application endpoint](/docs/object/migration/update-application-endpoint).
3. Keep the Wasabi source bucket for at least 90 days to avoid early deletion charges. If your objects are already past the 90-day minimum, a 30-day holdover is sufficient.

## See also

- [Plan your migration](/docs/object/migration/plan-your-migration): compatibility matrix, validation checklist
- [Migration tools comparison](/docs/object/migration/tools-comparison): rclone configuration and alternatives
- [Update application endpoint](/docs/object/migration/update-application-endpoint): swap SDK config to Quake AI
