# How to mount S3 storage on Windows, macOS, and Linux

Source: https://docs.quake.ai/docs/object/how-to/mount-s3-storage
Markdown: https://docs.quake.ai/docs/object/how-to/mount-s3-storage.md

---

# How to mount S3 storage on Windows, macOS, and Linux

Mount a Quake AI Object Storage bucket as a local drive or filesystem with `rclone`. You can then browse, read, and write objects through your operating system's file tools.

<PrerequisiteBlock>

- [S3 credentials](/docs/object/how-to/create-s3-credentials) (access key and secret key)
- An existing object storage bucket

</PrerequisiteBlock>



An S3 mount presents objects through a filesystem interface. It does not add POSIX filesystem semantics to Object Storage. Applications that depend on file locking or atomic renames may need block storage instead.





Avoid writable mounts of the same bucket from multiple systems. If two clients update the same object, the later upload can overwrite the earlier one. [Enable versioning](/docs/object/how-to/enable-versioning) if multiple systems need write access.



## Install rclone

### Install on Windows

Install `rclone` in PowerShell:

```powershell
winget install Rclone.Rclone
```

Install [WinFsp](https://winfsp.dev/rel/) so that `rclone` can create a filesystem mount.

### Install on macOS

Install `rclone` with Homebrew:

```bash
brew install rclone
```

### Install on Linux

Install `rclone` from your distribution's package repository. On Ubuntu or Debian, run:

```bash
sudo apt update
sudo apt install rclone
```

## Choose your regional endpoint

Use the endpoint for the region that contains your bucket:

| Region | Endpoint |
|--------|----------|
| US East 1 | `object.us-east-1.rumble.cloud` |
| US East 2 | `object.us-east-2.rumble.cloud` |
| US West 1 | `object.us-west-1.rumble.cloud` |

## Configure rclone

Open the [rclone](https://rclone.org/) configuration wizard:

```bash
rclone config
```

1. Select `n` for **new remote**.
2. Enter `quakeai` for the remote name.
3. Select `s3` for **S3 compliant storage**.
4. Select `Ceph` for the provider.
5. Select **Enter credentials manually** for `env_auth`.
6. Enter your **access key ID** and **secret access key**.
7. Leave the region empty.
8. Enter the [regional endpoint](#choose-your-regional-endpoint) for your bucket.
9. Leave `location_constraint` empty.
10. Set `acl` to `private`.
11. Leave server-side encryption and the KMS key ID set to `None`.
12. Skip the advanced configuration, review the settings, and save the remote.

The saved remote has this shape:

```ini
[quakeai]
type = s3
provider = Ceph
access_key_id = YOUR_ACCESS_KEY
secret_access_key = YOUR_SECRET_KEY
endpoint = object.us-east-1.rumble.cloud
acl = private
```

Confirm that `rclone` can list the bucket before mounting it:

```bash
rclone lsf quakeai:YOUR_BUCKET_NAME
```

The command prints the objects and prefixes at the root of the bucket.

## Mount the bucket

Choose the instructions for your operating system.

### Mount on Windows

Mount the bucket as drive `Z:`:

```powershell
rclone mount quakeai:YOUR_BUCKET_NAME Z: --vfs-cache-mode full
```

Keep the PowerShell window open while you use the mount. Press Ctrl+C in that window to unmount the bucket.

### Mount on macOS

Create a mount directory and mount the bucket over NFS:

```bash
mkdir -p "$HOME/mnt/quake-object-storage"
rclone nfsmount quakeai:YOUR_BUCKET_NAME "$HOME/mnt/quake-object-storage"
```

Keep the terminal open while you use the mount. Press Ctrl+C in that terminal to unmount the bucket.

### Mount on Linux

Create a mount directory and mount the bucket:

```bash
mkdir -p "$HOME/mnt/quake-object-storage"
rclone mount quakeai:YOUR_BUCKET_NAME "$HOME/mnt/quake-object-storage" \
  --vfs-cache-mode full
```

Keep the terminal open while you use the mount. Press Ctrl+C in that terminal to unmount the bucket.

## Browse a bucket with Cyberduck

If you want a graphical file-transfer client instead of a filesystem mount, use [Cyberduck](https://cyberduck.io/). Install Cyberduck from its [download page](https://cyberduck.io/download/), then use a Quake AI connection profile:

- [US East 1 Cyberduck profile](/files/rumble-us-east-1.cyberduckprofile)
- [US East 2 Cyberduck profile](/files/rumble-us-east-2.cyberduckprofile)
- [US West 1 Cyberduck profile](/files/rumble-us-west-1.cyberduckprofile)

1. Download the profile for the region that contains your bucket.
2. Open the downloaded profile in Cyberduck.
3. Enter your **Access Key ID** and **Secret Access Key**.
4. To open a specific bucket, expand **More Options** and enter the bucket name in **Path**.
5. Select **Connect**.

Cyberduck lists the objects in the bucket. Drag files between Cyberduck and your computer to upload or download them.

## See also

- [Create S3 credentials](/docs/object/how-to/create-s3-credentials)
- [Enable versioning](/docs/object/how-to/enable-versioning)
- [Object storage concepts](/docs/object/concepts/object-storage)
