KeystoneJS
Node.js + GraphQL headless CMS. Schema-as-code, batteries included.
What it is
KeystoneJS is a Node.js headless CMS. You define your schema in JavaScript, and Keystone auto-generates the GraphQL + REST APIs, Admin UI, and auth. Supports Postgres, MySQL, SQLite, and MongoDB.
Why we recommend it
If you're a Node.js developer who wants a headless CMS that you can fully own (no vendor lock-in, no SaaS), KeystoneJS is the answer. The schema-as-code approach is a developer favorite.
When to use it
- Headless CMS for a Node.js / React app
- Custom CMS you want to own
- When you want GraphQL + REST from day one
- Startups that want a CMS without monthly fees
Quickstart
Run this in your terminal. Self-hosts locally with Docker or your preferred setup.
$ npm init keystone-app my-app && cd my-app && npm start Setup
Tags
Integrates with
Common use cases
- →nodejs-cms
- →headless
- →custom-cms
- →startups
Pricing
Free. MIT licensed. Self-host on Node.js.
Related projects
Ackee
by Ackee
Lightweight, self-hosted, cookieless analytics for techies. GraphQL API, modern UI, no JavaScript required for visitors. The minimal analytics tool.
Decap CMS
by Decap CMS (formerly Netlify CMS)
Decap CMS (formerly Netlify CMS) is an open source Git-based CMS. Add a static admin panel to any static site generator, edit Markdown/YAML/TOML, commit back to your repo.
Directus
Directus wraps any existing SQL database (Postgres, MySQL, SQLite, Oracle, MS SQL) with a no-code admin panel, a GraphQL/REST API, and a real-time data layer. It doesn't own your data — it lives in your existing database. Perfect for ops dashboards, internal tools, and headless content.