# Object storage

> S3-compatible buckets with scoped keys, an object browser, and presigned URLs.

Source: https://gheima.ma/docs/object-storage

Object storage gives you S3-compatible buckets, each with its own access keys, and a storage quota set by your plan. It runs on SeaweedFS and works with any S3 client.

### Create a bucket

1. **New bucket** — On the Object storage page, click “New bucket” and give it a name.
2. **Reveal access keys** — Click "Reveal access keys" (recorded in the audit log) to get the endpoint, bucket, access key ID, secret access key, and region. Treat the secret access key like a password.

```
Endpoint           https://…
Bucket             my-bucket
Access key ID      …
Secret access key  …
Region             us-east-1
```

The values from the reveal dialog. Use them with any S3 client, such as aws-sdk, boto3, minio, or s3cmd. You don't need an AWS account.

### Public or private

Buckets are private by default. Toggle “Public access” to let anyone read objects over HTTP; Gheima then shows the public base URL. Rotate keys any time with “Rotate keys”.

### Object browser

Open a bucket to browse its objects. From the dashboard you can upload files, create folders (key prefixes), and open, download, rename, or delete objects.

### Presigned URLs

Click "Presigned URL" to generate a temporary link that downloads (GET) or uploads (PUT) one object without credentials. Choose an expiry of 15 minutes (the default), 1 hour, or 24 hours.

### Good to know

- Through the API, a presigned URL lasts 1 hour by default and up to 7 days.
- Folders are key prefixes. Deleting the last object in a folder removes the folder.
- A public bucket serves objects at its public base URL over HTTP.
- Stored bytes count against your plan’s storage quota.

> Result: Your app reads and writes files over the standard S3 API, and can hand out short-lived URLs to clients.

---

All docs: https://gheima.ma/docs.md
