Skip to content
findplate

DocsModules

Storage

Uploads to any S3 API.

On this page

The storage module adds packages/storage, a small client for any S3 compatible API: Garage, Cloudflare R2, AWS S3 or MinIO. It is on by default.

findplate create my-app --modules storage

What it adds

Files and folders:

  • packages/storage

Packages:

  • @acme/storage

Env keys

S3_ENDPOINT=
S3_REGION=auto
S3_BUCKET=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=

createStorage(config) returns null when the config is incomplete, so the feature turns itself off instead of crashing. Only apps/api uses it. Self-hosted S3 can be provisioned for you, see provisioning.

Remove

Run findplate remove storage in the project, see add and doctor. It deletes the files the module owns, strips its code from shared files and drops its packages, only where you haven't edited them.

If you'd rather do it by hand: for a new project leave storage out of --modules. In a project that already exists, delete the paths above, drop its packages from the package.json files, remove its env block and fix what pnpm check-types reports.

Swap

The package only speaks the S3 API, so swapping provider is an env change: point S3_ENDPOINT at R2, AWS, MinIO or Garage and set S3_REGION. Use auto for R2.