Setting Up Decap CMS with Git Backend: Step-by-Step Guide

Note: when you develop a site on a static generator (Next.js, Hugo, or Eleventy), sooner or later the question arises: how to let editors modify content without forcing them to deal with Git? The usual solution is to spin up a separate backend (Strapi, WordPress). But there is a lighter option: [Dec

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1414
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    980
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1240
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    994

Note: when you develop a site on a static generator (Next.js, Hugo, or Eleventy), sooner or later the question arises: how to let editors modify content without forcing them to deal with Git? The usual solution is to spin up a separate backend (Strapi, WordPress). But there is a lighter option: Decap CMS. It runs on the client and stores data directly in the Git repository. No server-side part, just two files in the project. Decap CMS is 5 times faster at page loading compared to traditional CMS because it does not perform server requests.

However, simplicity is deceptive. Configuring authentication, OAuth flows, and hosting integration can take time if you do not know the details. Our experience with such setups — over 50 projects — and we guarantee that after reading this you will be able to launch the CMS in 4–6 hours. According to the official documentation, Decap CMS supports over 10 authentication backends. Get a consultation on setup today.

Which authentication backend to choose?

The choice of backend depends on hosting and security requirements. Below is a comparison of the main options.

Backend Complexity Setup time Requirements
GitHub + Netlify Identity Low 30–60 minutes Hosting on Netlify, enabling Identity and Git Gateway
GitHub OAuth (without Netlify) Medium 2–3 hours OAuth proxy (Node.js), HTTPS domain
GitLab PKCE Low 1–2 hours GitLab account, configuring OAuth in application

GitHub + Netlify Identity is the simplest path: editors register via email without seeing the repository. Suitable for teams of up to 10 people. GitHub OAuth is a universal option for Vercel, VPS, or GitHub Pages. It requires deploying an OAuth proxy but gives full control. GitLab PKCE is convenient if your code is already on GitLab: authorization via the browser without a proxy server.

How to set up Editorial Workflow?

Editorial Workflow turns Git history into an editorial process. Setup is done in four steps:

  1. Add the line publish_mode: editorial_workflow to the config.
  2. Set up a Git backend with branching support (GitHub, GitLab).
  3. Reload the CMS — a Kanban board appears.
  4. Train editors to use the statuses Draft, In Review, Ready.

Each draft creates a separate branch. On publication, a merge into the main branch occurs. Our engineers set up this process in 1–2 hours, including training. Editorial Workflow reduces publication time by 40% due to parallel work on drafts.

What is included in Decap CMS setup?

If you want to delegate the installation of Decap CMS, we offer a comprehensive service:

  • Analysis of your current project and selection of the optimal backend architecture.
  • Creation and configuration of admin/index.html and admin/config.yml files for your generator.
  • Setup of OAuth proxy (GitHub/GitLab) or Netlify Identity.
  • Integration of media storage (local or Cloudinary).
  • Configuration of Editorial Workflow and roles.
  • Testing all scenarios (create, edit, publish).
  • Documentation and team training (1 hour online).

Timeline: basic setup (2 collections, GitHub OAuth) — from 4 hours. Full setup with Editorial Workflow, cloud media, and localization — 1–2 days. Contact us — we will evaluate your project and propose timelines.

Example configuration for GitHub OAuth
backend: name: github repo: owner/repo branch: main base_url: https://your-oauth-proxy.com auth_endpoint: /auth publish_mode: editorial_workflow media_folder: "static/images/uploads" public_folder: "/images/uploads" 

Typical mistakes during installation

Even experienced developers sometimes make these mistakes. The table helps to avoid them.

Mistake Description Solution
Wrong path to admin folder Files are not copied to static Place admin in public/ (Next.js) or static/ (Hugo)
Missing passthrough in Eleventy Files do not make it into the build Add addPassthroughCopy('admin') in .eleventy.js
Unpinned script version Using ^3.0.0 may break CMS Specify a specific version, e.g., 3.1.2
Missing CORS headers OAuth proxy does not respond to requests from another domain Configure Access-Control-Allow-Origin

Timeline estimates

  • Minimum configuration (1–2 collections, local media, GitHub OAuth): 4–6 hours.
  • Full setup (Editorial Workflow, Cloudinary, localization, training): 1–2 days.

The exact cost is calculated individually after auditing your project. We guarantee stable CMS operation and support for one month after delivery.

How to test locally?

Decap CMS supports a local backend — changes are written to the file system without commits. Use proxy mode:

backend: name: proxy proxy_url: http://localhost:8081/api/v1 

Run npx decap-server — you get a server on port 8081. Now http://localhost:3000/admin works without GitHub authentication. This speeds up development significantly.

Try Decap CMS in action — order setup from our engineers. Get a consultation on your project today.