Directus: CMS и API поверх вашей базы данных
Есть база данных, но нужна удобная админка и API поверх неё — без месяцев разработки бэкенда. Directus даёт и то, и другое поверх вашей SQL-базы. Разбираю, где это экономит время и кому подходит.
Коротко (TL;DR)
- Directus — open-source платформа, которая подключается к вашей SQL-базе и сразу даёт удобную админку и готовый API (REST и GraphQL).
- Бэкенд, который обычно пишут месяцами, вы получаете почти сразу: без ручной разработки CRUD, авторизации и панели управления.
- «Headless» значит, что данные и админка живут отдельно, а показывать их можно где угодно — на сайте, в мобильном приложении, в другом сервисе.
- Умеет роли и права, файлы и медиа, вебхуки и автоматизации и работает поверх уже существующей базы без её переделки.
- Подходит там, где есть данные и нужна панель плюс API; для простого сайта-визитки это избыточно.
Меня зовут Чимитдоржи Дарижапов, и я часто сталкиваюсь с одной и той же ситуацией: у заказчика уже есть данные — таблица товаров, база клиентов, каталог объектов — но нет ни удобной панели, чтобы всё это редактировать, ни API, чтобы отдать данные на сайт или в приложение. Обычно на такой бэкенд уходят недели или месяцы разработки. Directus меняет эту логику: он подключается к вашей SQL-базе данных и почти мгновенно даёт две вещи, которые обычно пишут руками — админку и готовый программный интерфейс.
В этой статье я простыми словами разберу, что такое Directus, чем он отличается от привычной CMS, кому он реально нужен, а кому будет лишним, и как я обычно внедряю его под ключ. Постараюсь обойтись без лишнего технического жаргона.
Что это и что заменяет
Directus — это open-source платформа (то есть с открытым исходным кодом, доступная бесплатно), которая надстраивается над вашей базой данных. Вы подключаете к нему уже существующую SQL-базу — или позволяете ему создать новую — и сразу получаете два готовых инструмента.
Первое — это красивая и удобная админ-панель. В ней можно просматривать данные, добавлять и редактировать записи, загружать файлы, настраивать поля и связи между таблицами. Человеку, который будет наполнять контент, не нужно лезть в базу через код — он работает через понятный интерфейс, похожий на современную таблицу или CRM.
Второе — это готовый API, причём сразу в двух форматах: REST и GraphQL. Проще говоря, это «розетка», через которую любой сайт или приложение может запрашивать ваши данные и получать их в удобном виде. Разработчику фронтенда не нужно писать серверную часть с нуля — она уже есть.
Именно поэтому я говорю, что Directus заменяет ручную разработку бэкенда. Обычно бэкенд — это код, который принимает запросы, проверяет права доступа, достаёт данные из базы, отдаёт их наружу, плюс отдельная админка для редактирования. Всё это долго и дорого. Directus отдаёт этот пласт работы почти сразу.
Теперь про слово «headless». Дословно это «безголовый», и звучит непонятно, поэтому объясню на пальцах. У привычной системы управления сайтом «голова» — это витрина, то, как страница выглядит в браузере. Данные и внешний вид там жёстко связаны. «Headless» означает, что голову отрезали: остаются чистые данные и админка, а показывать эти данные можно где угодно. Один и тот же контент вы отдаёте и на сайт, и в мобильное приложение, и в телеграм-бот, и в другой сервис — источник у них общий. Меняете текст один раз в админке — он обновляется во всех каналах.
Что умеет
Разберу основные возможности, за которые я ценю эту платформу в реальных проектах.
Управление любыми данными и контентом. Directus не привязан к какому-то одному типу контента. Это могут быть статьи блога, товары каталога, записи клиентов, объекты недвижимости, расписания — что угодно. Вы описываете структуру своих таблиц (в терминах Directus — «коллекций»), и получаете под них удобные формы редактирования.
Роли и права доступа. Можно тонко настроить, кто что видит и что может менять. Например, редактор правит только тексты, менеджер видит заказы, а бухгалтер — лишь финансовые поля. Это важно, когда с системой работает несколько человек с разной зоной ответственности.
Файлы и медиа. Встроенная библиотека для загрузки изображений, документов, видео. Картинки можно на лету обрезать и менять размер под нужный формат, что удобно для сайтов и приложений.
Готовый API. Как я уже сказал, REST и GraphQL идут из коробки. Это значит, что как только вы создали структуру данных, её уже можно запрашивать программно — фронтенд-разработчику есть с чем работать буквально в тот же день.
Вебхуки и автоматизации. Directus умеет реагировать на события. Например, при добавлении новой заявки автоматически отправить уведомление, дёрнуть внешний сервис или запустить сценарий. Внутри есть визуальный конструктор потоков (flows), где часть логики собирается без глубокого программирования.
Работа с уже существующей базой. Это, пожалуй, ключевое отличие. Directus не требует переносить данные в какой-то свой особый формат. Он подключается к вашей текущей SQL-базе как есть и начинает с ней работать. Ваша база остаётся вашей — вы в любой момент можете использовать её и напрямую.
Кому подходит
По моему опыту, Directus особенно хорош в нескольких сценариях.
Во-первых, когда у вас уже есть данные или база, и нужна админка плюс API без долгой разработки серверной части. Это самый частый случай: данные есть, а инструмента для работы с ними нет.
Во-вторых, для проектов, где есть и сайт, и приложение на одном контенте. Directus становится единым источником правды: обе платформы берут данные из одного места, и не нужно поддерживать их синхронизацию вручную.
В-третьих, для команд, которым нужна панель для работы с данными. Если несколько сотрудников должны наполнять и редактировать контент, но вы не хотите пускать их в код и базу напрямую — Directus даёт им безопасный и удобный интерфейс.
Теперь честно о том, кому это НЕ надо. Если вам нужен простой сайт-визитка на пять страниц с контактами — Directus избыточен. Разворачивать под это отдельную платформу с базой и API нет смысла. Точно так же, если задача — обычный блог или корпоративный сайт и вам вполне хватает готовой классической CMS, где всё в одном, — не усложняйте. Directus раскрывается там, где данные действительно нужно отдавать в несколько каналов или где важна гибкая структура.
Отдельно проговорю отличие от обычной CMS, потому что вопрос возникает постоянно. Классическая CMS завязана на вывод одного сайта: контент и его отображение там связаны, и «унести» данные в приложение бывает трудно. Directus отдаёт чистые данные и API под любой канал и, что важно, умеет работать поверх ВАШЕЙ базы, не переделывая её. Грубо говоря, обычная CMS — это «сайт с админкой», а Directus — «данные с админкой и API, а сайтов может быть сколько угодно».
| Параметр | Обычная CMS | Directus (headless) |
|---|---|---|
| Что в центре | Вывод одного сайта | Чистые данные и API |
| Каналы использования | Как правило, сам сайт | Сайт, приложение, бот, другой сервис |
| Работа с существующей базой | Обычно свой формат данных | Подключается к вашей SQL-базе как есть |
| Готовый API из коробки | Не всегда, часто через плагины | Да, REST и GraphQL сразу |
| Роли и права | Базовые | Гибкие, по полям и коллекциям |
| Когда лучше | Сайт-визитка, блог, корпоративный сайт | Данные для нескольких каналов, панель + API |
Что нужно для запуска
Чтобы запустить Directus, нужно не так много, и я всегда проговариваю это с заказчиком заранее.
Сервер. Directus нужно где-то разместить. Обычно это виртуальный сервер (VPS) — арендованная машина, на которой крутится платформа. Если вам интересно, как устроен такой сервер и зачем он нужен, я подробно рассказывал об этом в материале про свой VPS.
База данных. Нужна SQL-база — PostgreSQL, MySQL и другие поддерживаются. Это может быть ваша уже существующая база или новая, которую мы создадим при запуске. Directus будет работать поверх неё.
Настройка. Это установка платформы, подключение базы, описание структуры данных (коллекций), настройка ролей и прав, а также подготовка API к работе с фронтендом. Именно на этом этапе система превращается из «просто установленной» в реально удобную под конкретный проект.
По сравнению с разработкой бэкенда с нуля объём подготовки заметно меньше, но это всё же не «скачал и забыл» — грамотная настройка структуры и прав определяет, насколько удобно с системой будет работать дальше.
Как внедрить под ключ
Расскажу, как обычно выглядит внедрение с моей стороны, шаг за шагом.
Шаг 1. Развернуть Directus. Я поднимаю платформу на сервере, настраиваю её работу, домен и безопасное соединение, чтобы админка открывалась по адресу и работала стабильно.
Шаг 2. Подключить базу. Если база уже есть — подключаю её, и Directus сразу «видит» ваши таблицы. Если базы нет — создаю новую под структуру проекта.
Шаг 3. Настроить коллекции и права. Здесь я привожу структуру данных в порядок: описываю поля, связи между таблицами, настраиваю удобные формы редактирования. Затем настраиваю роли — кто из сотрудников что видит и может менять.
Шаг 4. Отдать API фронтенду или приложению. Как только данные и права готовы, API можно подключать к сайту или мобильному приложению. Разработчик витрины начинает забирать контент из Directus и показывать его пользователям.
Шаг 5. Интеграции и автоматизации. На финальном этапе настраиваю вебхуки, уведомления и сценарии: например, отправку письма при новой заявке или связку с внешними сервисами. Так система не просто хранит данные, но и участвует в процессах.
Если хочется сравнить Directus с более «табличными» инструментами, я разбирал похожие подходы в статьях про NocoDB — база на своём сервере и про Budibase — внутренние приложения. У каждого инструмента своя сильная сторона, и выбор зависит от задачи.
Частые вопросы
Чем Directus отличается от обычной CMS? Обычная CMS завязана на вывод одного сайта: данные и их отображение связаны. Directus даёт чистые данные и API под любой канал — сайт, приложение, бота — и умеет работать поверх вашей базы. Если коротко: CMS — это «сайт с админкой», а Directus — «данные с админкой и API».
Можно ли поставить Directus поверх уже существующей базы? Да, и это одна из его сильных сторон. Directus подключается к вашей текущей SQL-базе как есть, не требуя переносить данные в особый формат. Ваша база остаётся вашей, а вы получаете к ней удобную панель и API.
Подходит ли Directus для мобильного приложения? Да. Поскольку это headless-платформа с готовым API, мобильное приложение забирает данные из Directus точно так же, как и сайт. Более того, сайт и приложение могут использовать один и тот же контент из одного источника.
Нужен ли программист, чтобы этим пользоваться? Для наполнения и редактирования данных — нет: с админкой спокойно работает нетехнический сотрудник, интерфейс понятный. А вот для первоначального развёртывания, настройки структуры, прав и интеграций участие специалиста желательно. Эту часть я как раз беру на себя.
Directus платный? Сама платформа с открытым исходным кодом и её можно использовать бесплатно, разместив на своём сервере. Расходы обычно сводятся к аренде сервера и работе по настройке. Есть и облачная версия от разработчиков, но для большинства проектов достаточно self-hosted варианта.
Коротко о главном
Directus — это способ быстро получить то, на что обычно уходят месяцы разработки: удобную админку и готовый API поверх вашей SQL-базы. Он особенно ценен, когда у вас уже есть данные и нужна панель для работы с ними, когда контент должен жить сразу в нескольких каналах — на сайте, в приложении, в сервисе, — и когда важно не переделывать существующую базу.
При этом я всегда честно говорю: если задача — простой сайт-визитка, Directus будет избыточен, и лучше обойтись обычной CMS. Инструмент хорош ровно там, где он на своём месте.
Если вы узнали в описании свою ситуацию — есть данные, но нет удобной панели и API, или планируется связка «сайт плюс приложение», — я помогу развернуть и настроить Directus под ключ: от сервера и базы до коллекций, прав и интеграций. Напишите мне, обсудим вашу задачу и подберём аккуратное решение без лишнего усложнения.
Ещё open-source для бизнеса
Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.
Что я делаю с open-source
- Разворачиваю на вашем сервере
- Настройка под ваши процессы
- Интеграция с 1С и вашими системами
- Поддержка и обновления
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


