MCPSERV.CLUB
Keystone

Keystone

Self-Hosted

Developer‑centric CMS delivering powerful GraphQL APIs and a sleek admin UI.

Active(75)
9.7kstars
0views
Updated Sep 3, 2025
Keystone screenshot 1
1 / 4

Overview

Discover what makes Keystone powerful

Keystone 6 is a modern, open‑source headless CMS and application framework written in **TypeScript**. It allows developers to declare data schemas with a concise, declarative API and instantly generates both a **GraphQL** endpoint and an auto‑generated **admin UI**. The core philosophy is “no boilerplate, just the APIs you need,” so developers can focus on business logic while Keystone handles data persistence, authentication, and field validation. Under the hood it relies on **Node.js**, **Express** (or any compatible HTTP server), and a flexible ORM layer that supports PostgreSQL, MySQL, MariaDB, SQLite, and MongoDB.

Language & Runtime

Framework Layer

ORM & Persistence

Admin UI

Overview

Keystone 6 is a modern, open‑source headless CMS and application framework written in TypeScript. It allows developers to declare data schemas with a concise, declarative API and instantly generates both a GraphQL endpoint and an auto‑generated admin UI. The core philosophy is “no boilerplate, just the APIs you need,” so developers can focus on business logic while Keystone handles data persistence, authentication, and field validation. Under the hood it relies on Node.js, Express (or any compatible HTTP server), and a flexible ORM layer that supports PostgreSQL, MySQL, MariaDB, SQLite, and MongoDB.

Architecture

  • Language & Runtime: TypeScript + Node.js (v18+). The runtime is lightweight, enabling easy containerization with Docker or serverless deployments.
  • Framework Layer: Built on top of Express, Keystone exposes a middleware stack that can be composed with other libraries (e.g., Next.js API routes, Apollo Server).
  • ORM & Persistence: Uses a custom query engine that translates schema definitions into SQL or MongoDB queries. The data layer is pluggable; you can swap adapters for different databases without touching your schema code.
  • Admin UI: A React‑based SPA generated from the schema. It uses WebSocket for real‑time updates and supports custom field components, layouts, and theming.
  • GraphQL API: Auto‑generated schema with CRUD mutations, pagination, and access control hooks. The API is fully typed in TypeScript, making client code generation straightforward.

Core Capabilities

  • Schema‑driven Models: Define lists with fields such as text, relationship, file, image, and custom field types. Relationships support one‑to‑many, many‑to‑many, and self‑referencing.
  • Fine‑grained Access Control: Declarative ACL per field and per operation (query, create, update, delete). Hooks allow dynamic evaluation based on the current user or request context.
  • File Storage: Built‑in adapters for local disk, Amazon S3, Google Cloud Storage, and custom storage services.
  • Hooks & Middleware: beforeOperation, afterOperation, and validate hooks for each list, plus global request/response middleware.
  • Internationalization: Field types can be marked as localized, automatically handling locale‑specific values.
  • Data Migration: Automatic migration scripts that evolve the database schema as your TypeScript models change.

Deployment & Infrastructure

Keystone is fully self‑hostable on any platform that can run Node.js:

  • Containerization: Official Docker images are available; the application is stateless, making horizontal scaling trivial.
  • Cloud Platforms: Deploy to Vercel, Netlify (via serverless functions), AWS Elastic Beanstalk, DigitalOcean App Platform, or any Kubernetes cluster.
  • Scalability: Because the admin UI and GraphQL endpoints are stateless, multiple instances can share a single database connection pool. Read replicas can be used for heavy read workloads.
  • Security: Supports JWT, session cookies, and integration with external OAuth providers. The framework encourages HTTPS and secure headers.

Integration & Extensibility

  • Plugins: Keystone’s plugin system lets you add reusable functionality such as SEO fields, analytics tracking, or custom authentication providers.
  • Webhooks: Built‑in support for sending events to external services after CRUD operations, enabling CI/CD pipelines or third‑party integrations.
  • Custom Resolvers: While the auto‑generated GraphQL schema covers most use cases, developers can extend it with custom queries and mutations.
  • Admin UI Customization: Replace field components, add custom pages, or modify the layout via React overrides.

Developer Experience

  • TypeScript First: Full type safety across the stack, from schema to API responses.
  • Documentation & Community: Comprehensive docs with code examples, a growing community on Slack and GitHub Discussions, and frequent releases (v6 is actively maintained).
  • Zero Boilerplate: A single keystone.ts file defines the entire data layer; no separate migration or schema files.
  • Testing: Built‑in utilities for testing hooks and GraphQL queries; compatible with Jest or Vitest.

Use Cases

  • Content‑heavy websites: Quickly spin up a blog, news portal, or e‑commerce catalog with an admin UI and GraphQL API.
  • Internal tooling: Build custom dashboards, inventory systems, or CRM backends without reinventing CRUD logic.
  • Headless microservices: Use Keystone as a data store behind other services, exposing only the necessary GraphQL endpoints.
  • Rapid prototyping: Define a schema and immediately see an admin UI, ideal for MVPs or proof‑of‑concept projects.

Advantages

AspectKeystone 6Alternatives
PerformanceLightweight Node.js, optimized query engineHeavyweight PHP or Ruby on Rails stacks
FlexibilityDeclarative schema + full access controlFixed CMS templates or low‑code platforms
LicensingMIT, fully open sourceProprietary or SaaS models
ExtensibilityPlugin API, custom resolvers, webhooksLimited plug‑in ecosystems
Developer FocusTypeScript, zero boilerplate

Open SourceReady to get started?

Join the community and start self-hosting Keystone today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
9.7k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Community
Supported OS
LinuxWindowsmacOS
Author
keystonejs
keystonejs
Last Updated
Sep 3, 2025