Introduction to PayloadCMS Config
Everything in payload is centered on a payload.config.ts file. The config file should be on the root of our project. This file is generated automatically when we initialize PayloadCMS.
If you use src folder, the payload.config.ts should be in the src folder.
Directorypublic/
- …
Directorysrc
Directoryapp/
- …
- payload.config.ts
Here is an example of a payload.config.ts file:
// storage-adapter-import-placeholderimport { sqliteAdapter } from '@payloadcms/db-sqlite'import { payloadCloudPlugin } from '@payloadcms/payload-cloud'import { lexicalEditor } from '@payloadcms/richtext-lexical'import path from 'path'import { buildConfig } from 'payload'import { fileURLToPath } from 'url'import sharp from 'sharp'
import { Users } from './collections/Users'import { Media } from './collections/Media'
const filename = fileURLToPath(import.meta.url)const dirname = path.dirname(filename)
export default buildConfig({ admin: { user: Users.slug, importMap: { baseDir: path.resolve(dirname), }, }, collections: [Users, Media], editor: lexicalEditor(), secret: process.env.PAYLOAD_SECRET || '', typescript: { outputFile: path.resolve(dirname, 'payload-types.ts'), }, db: sqliteAdapter({ client: { url: process.env.DATABASE_URI || '', }, }), sharp, plugins: [ payloadCloudPlugin(), // storage-adapter-placeholder ],})