Быстрый старт с Payload CMS

26 февраля 2026 г.Александр Андреев

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

Paylaod CMS админка

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.ts
  • collections/ — сущности
  • globals/ — одиночные объекты (например, настройки сайта или меню в шапке сайта)
  • payload.config.ts — центральная конфигурация

7. Интеграция с Next.js

Payload можно:

  1. Использовать как отдельный backend (headless).
  2. Встроить внутрь Next-приложения (единый процесс).

Во втором случае:

  • один деплой
  • одна кодовая база
  • меньше инфраструктуры

Заключение

Payload CMS — это декларативный backend, где:

  • модель данных описывается в коде
  • админка и API генерируются автоматически
  • архитектура остаётся прозрачной
  • можно стартовать без глубокого погружения в Node.js

Для небольших и средних проектов это позволяет быстро перейти от идеи к работающему API без ручной сборки инфраструктуры.

Назад в блог
Быстрый старт с Payload cms | Payload CMS по-русски