cloud_queue
Better MediaDeveloper docs

Installation

Installation and environment setup guidance.

To get started with Better Media, you need the core package and at least one storage adapter.

Pick your package manager in the tabs below. The same choice is shared with the CLI page in this site so you do not have to switch twice.

Quick install

Install the core library and @better-media/core:

pnpm add better-media @better-media/core
npm install better-media @better-media/core
yarn add better-media @better-media/core

A typical production setup requires a storage adapter (e.g. S3) and a database adapter (e.g. Kysely for PostgreSQL).

pnpm add @better-media/adapter-storage-s3 @better-media/adapter-db-kysely
npm install @better-media/adapter-storage-s3 @better-media/adapter-db-kysely
yarn add @better-media/adapter-storage-s3 @better-media/adapter-db-kysely

Peer dependencies

Better Media relies on certain peer dependencies depending on the adapters you choose:

  • S3 Storage: @aws-sdk/client-s3, @aws-sdk/s3-request-presigner
  • PostgreSQL/SQL: kysely, pg (or your preferred driver)
  • Image Processing: sharp

Local development

For local development, we recommend the Filesystem and In-Memory database adapters so you can run without external services.

pnpm add @better-media/adapter-storage-filesystem @better-media/adapter-db-memory
npm install @better-media/adapter-storage-filesystem @better-media/adapter-db-memory
yarn add @better-media/adapter-storage-filesystem @better-media/adapter-db-memory
lib/storage.ts
import { FileSystemStorageAdapter } from "@better-media/adapter-storage-filesystem";

const storage = new FileSystemStorageAdapter({
  baseDir: "./uploads",
});

On this page