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/corenpm install better-media @better-media/coreyarn add better-media @better-media/coreRecommended setup
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-kyselynpm install @better-media/adapter-storage-s3 @better-media/adapter-db-kyselyyarn add @better-media/adapter-storage-s3 @better-media/adapter-db-kyselyPeer 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-memorynpm install @better-media/adapter-storage-filesystem @better-media/adapter-db-memoryyarn add @better-media/adapter-storage-filesystem @better-media/adapter-db-memoryimport { FileSystemStorageAdapter } from "@better-media/adapter-storage-filesystem";
const storage = new FileSystemStorageAdapter({
baseDir: "./uploads",
});