CMS without a content database
Decap loads at /admin and edits files that live in git. This article covers the editor and content model — OAuth and gateway setup are in the content pipeline deploy guide.
Collections
public/admin/config.yml defines what editors can change:
| Collection | Path | Format |
|---|---|---|
| Blog / capabilities | src/content/blog/{locale}/ | MDX |
| FAQs | src/content/faqs/ | JSON |
| Pages | src/content/pages/ | MDX |
Schemas in src/content.config.ts must match what Decap writes. Tags, locale, and category fields are validated at build.
Branch workflow
Default CMS branch is develop (test). Editors publish from the admin UI; merges to main promote content to production when you’re ready.
Local development
Without the OAuth gateway running locally, edit files directly under src/content/. For full CMS testing, use the test VPS or a tunnel to auth-gateway:3000.
Why Decap on a self-hosted stack?
- Content stays in your git repo
- No Netlify Identity or proprietary CMS backend
- Same review flow as code: PRs, diffs, rollback via git
Related: OAuth login guide