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:
- Add the line
publish_mode: editorial_workflowto the config. - Set up a Git backend with branching support (GitHub, GitLab).
- Reload the CMS — a Kanban board appears.
- 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.htmlandadmin/config.ymlfiles 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.







