Docs
backend/storage

AWS S3

Storecraft supports AWS S3 storage services.

Features

  • Works in any js runtime and platform that supports fetch
  • Supports streaming Get / Put / Delete
  • Supports presigned Get / Put requests to offload to client

First,

npm i @storecraft/storage-s3-compatible

usage

import { App } from '@storecraft/core';
import { S3 } from '@storecraft/storage-s3-compatible'
const app = new App()
.withPlatform(new NodePlatform())
.withDatabase(new MongoDB())
.withStorage(
new S3(
{
forcePathStyle: false,
bucket: process.env.S3_BUCKET,
region: process.env.S3_REGION,
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_KEY
}
)
).init();

config

Storecraft will search the following env variables

S3_BUCKET=...
S3_REGION=...
S3_ACCESS_KEY_ID=...
S3_SECRET_KEY=...

So, you can instantiate with empty config

.withStorage(
new S3()
)

All Rights Reserved, storecraft, (2025)