SETUP GUIDES · FILE STORAGE

Wasabi bucket

Store your app’s files in Wasabi.

⏱ About 15 minutes

Wasabi is S3-compatible storage with simple pricing. You create a bucket and a separate user whose policy only allows your project’s folder.

Words you’ll see

Bucket
A storage container for files at a storage provider, like a top-level folder in the cloud. Your app’s uploads go into it.
Policy
A short list of what a user or key is allowed to do, written as JSON. You paste the one from the guide; it allows only what Claspine needs.
Access key ID and secret access key
A pair of values that works like a username and password for programs. The ID can be shown; the secret is shown once when you create it.
Endpoint
The web address Claspine uses to reach your storage provider, such as https://s3.us-east-1.amazonaws.com.
CORS
A browser safety setting on the bucket that says which websites may upload or download directly. Without it, browsers block uploads from your app.

Steps

  1. In the Wasabi console, create a bucket and note its region endpoint (for example s3.us-east-1.wasabisys.com).
  2. Under Users, create a user with programmatic (API) access only.
  3. Attach a policy that allows s3:PutObject, s3:GetObject and s3:DeleteObject on arn:aws:s3:::<bucket>/projects/<project-id>/*. It is the same JSON as in the Amazon S3 guide.
  4. Create an access key for that user and copy both values.
  5. Set a CORS rule on the bucket for your app’s web address.
  6. Open the Claspine console, choose your project and go to File Storage.
  7. Pick this provider in the list, then fill in the fields as shown in “What goes where in Claspine” below.
  8. Click Save & test. Claspine writes one tiny test file into your bucket, reads it back and deletes it. A green result means everything is connected.

What goes where in Claspine

Console fieldValue
ENDPOINThttps://s3.<region>.wasabisys.com
ACCESS KEY ID / SECRETFrom step 4.

Keep it safe

  • Do not use your root account’s keys.

Claspine stores the values encrypted, never shows them again in full, and never sends them to your app or SDK.

← All setup guides