Быстрый старт с Payload CMS
Payload — это headless CMS, где модель данных описывается декларативно в коде, а админ-панель и API формируются автоматически. Ниже — минимальный путь от установки до работающего проекта с собственной коллекцией.

1. Установка
Требования:
- Node.js 18+ (рекомендуется 22 LTS)
- pnpm / npm
Создаём проект:
pnpm create payload-app@latestили
npx create-payload-app@latestМастер предложит:
- выбрать базу данных (Postgres / MongoDB / SQLite)
- включить TypeScript
- выбрать шаблон (обычно достаточно базового)
После установки:
pnpm devПо умолчанию админка будет доступна на: http://localhost:3000/admin
2. База данных
Для старта удобно использовать SQLite — это один файл базы, без отдельного сервера.
Для production-проектов чаще выбирают Postgres.
3. Первая коллекция
В Payload всё строится вокруг коллекций.
Коллекция — это сущность (например: Post, User, Product).
Создадим коллекцию Posts.
src/collections/Posts.ts:
import type { CollectionConfig } from 'payload'
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'title',
},
access: {
read: () => true,
},
fields: [
{
name: 'title',
type: 'text',
required: true,
},
{
name: 'slug',
type: 'text',
required: true,
unique: true,
},
{
name: 'content',
type: 'richText',
},
{
name: 'publishedAt',
type: 'date',
},
],
}Подключаем её в payload.config.ts:
import { Posts } from './collections/Posts'
export default buildConfig({
collections: [Posts],
})Перезапускаем сервер — коллекция появится в админке.
4. Что происходит под капотом
После описания коллекции Payload автоматически:
- создаёт таблицу/структуру в базе
- формирует админ-панель
- создаёт REST API:
GET /api/posts
GET /api/posts/:id
POST /api/posts- создаёт GraphQL-схему (если включено)
Это ключевая идея Payload: описав модель вы получаете инфраструктуру.
5. Доступ к API
Пример запроса к API:
curl http://localhost:3000/api/postsОтвет — JSON с данными.
6. Структура проекта
Типичный проект Payload:
src/
collections/
globals/
payload.config.tscollections/— сущностиglobals/— одиночные объекты (например, настройки сайта или меню в шапке сайта)payload.config.ts— центральная конфигурация
7. Интеграция с Next.js
Payload можно:
- Использовать как отдельный backend (headless).
- Встроить внутрь Next-приложения (единый процесс).
Во втором случае:
- один деплой
- одна кодовая база
- меньше инфраструктуры
Заключение
Payload CMS — это декларативный backend, где:
- модель данных описывается в коде
- админка и API генерируются автоматически
- архитектура остаётся прозрачной
- можно стартовать без глубокого погружения в Node.js
Для небольших и средних проектов это позволяет быстро перейти от идеи к работающему API без ручной сборки инфраструктуры.