Установка и настройка Decap CMS (Git-Based)

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Установка и настройка Decap CMS (Git-Based)
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Установка и настройка Decap CMS (Git-Based)

Decap CMS монтируется в существующий проект добавлением двух файлов: admin/index.html и admin/config.yml. Весь административный интерфейс загружается на клиенте — серверной части нет. Git-репозиторий выступает базой данных, коммиты — транзакциями.

Добавление в существующий проект

Для любого статического генератора или Next.js-проекта папку admin кладём в директорию статических файлов:

# Next.js
public/admin/index.html
public/admin/config.yml

# Astro
public/admin/index.html
public/admin/config.yml

# Hugo
static/admin/index.html
static/admin/config.yml

# Eleventy
_site не трогаем, исходники в корне:
admin/index.html → копируется passthrough
admin/config.yml → копируется passthrough

Для Eleventy нужно явно прописать passthrough:

// .eleventy.js
module.exports = function(eleventyConfig) {
  eleventyConfig.addPassthroughCopy('admin')
}

index.html

<!doctype html>
<html lang="ru">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta name="robots" content="noindex" />
  <title>Управление контентом</title>
</head>
<body>
  <script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
</body>
</html>

Версию лучше зафиксировать — не ^3.0.0, а конкретную 3.1.2, чтобы не получить сюрприз при обновлении CDN.

Бэкенды аутентификации

GitHub + Netlify Identity — самый простой вариант, если хостинг на Netlify:

backend:
  name: git-gateway
  branch: main

publish_mode: editorial_workflow

В настройках сайта на Netlify включаем Identity и Git Gateway. Редакторы регистрируются через email — репозиторий им видеть необязательно.

GitHub OAuth без Netlify — для хостинга на Vercel, VPS, GitHub Pages:

backend:
  name: github
  repo: myorg/my-site
  branch: main
  base_url: https://cms-oauth.mysite.com

OAuth-прокси — это маленький сервер, который принимает код от GitHub и возвращает токен. Готовая реализация на Node.js:

git clone https://github.com/vencax/netlify-cms-github-oauth-provider
cd netlify-cms-github-oauth-provider
cp .env.example .env
# Заполняем GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, REDIRECT_URL
npm install
node index.js

Деплоим на Railway или как Docker-контейнер. Занимает 20–30 минут.

GitLab — аналогичная схема:

backend:
  name: gitlab
  repo: myorg/my-site
  branch: main
  auth_type: pkce

PKCE-режим позволяет авторизоваться напрямую через GitLab OAuth без прокси-сервера.

Editorial Workflow

Включаем черновики и процесс согласования:

publish_mode: editorial_workflow

После включения в CMS появляется Kanban-доска: Draft → In Review → Ready. Каждый черновик создаёт отдельную ветку, при публикации — мёрдж в main. Это превращает git-историю в историю редакционных решений.

Медиафайлы

# Локальные медиафайлы в репозитории
media_folder: public/images/uploads
public_folder: /images/uploads

# Или Cloudinary
media_library:
  name: cloudinary
  config:
    cloud_name: my-cloud
    api_key: "123456789"

Для Cloudinary нужно установить:

<script src="https://unpkg.com/decap-cms@^3.0.0/dist/decap-cms.js"></script>
<script src="https://unpkg.com/netlify-cms-media-library-cloudinary"></script>

Локализация интерфейса

locale: ru

Это устанавливает язык UI. Для русского языка перевод встроен в Decap CMS начиная с версии 2.10.

Проверка работы локально

Decap CMS поддерживает локальный бэкенд — изменения пишутся в файловую систему без коммитов:

# Только для разработки, не коммитить в main
backend:
  name: proxy
  proxy_url: http://localhost:8081/api/v1
npx decap-server
# Запускает прокси на порту 8081

Теперь http://localhost:3000/admin работает без GitHub-аутентификации.

Сроки

Базовая установка с 2–3 коллекциями и GitHub OAuth: 4–6 часов. Полная настройка с Editorial Workflow, Cloudinary, локализацией и тестированием: 1–2 дня.