Overview
Discover what makes ApostropheCMS powerful
ApostropheCMS is a **full‑stack, Node.js‑centric CMS** that couples an intuitive in‑context editing UI with a headless API layer, all powered by **MongoDB**. The core philosophy is to keep content editors on the page while giving developers a familiar JavaScript ecosystem, enabling rapid iteration and easy migration to modern frontend frameworks such as Astro, React or Vue. The system is designed for both small sites and enterprise‑grade applications, with built‑in scaling hooks that leverage MongoDB’s sharding and replica set capabilities.
In‑Context Editing
Schema‑Driven Widgets
Permission & Workflow
Internationalization
Overview
ApostropheCMS is a full‑stack, Node.js‑centric CMS that couples an intuitive in‑context editing UI with a headless API layer, all powered by MongoDB. The core philosophy is to keep content editors on the page while giving developers a familiar JavaScript ecosystem, enabling rapid iteration and easy migration to modern frontend frameworks such as Astro, React or Vue. The system is designed for both small sites and enterprise‑grade applications, with built‑in scaling hooks that leverage MongoDB’s sharding and replica set capabilities.
Architecture
At its heart, Apostrophe is a modular Express application. Each module declares schemas, routes, widgets, and UI components in plain JavaScript/JSON. The data layer is a MongoDB collection per module, with optional schema enforcement via the module.exports = { schema: ... } pattern. The editor is a React‑based SPA that communicates with the back end over RESTful endpoints and WebSocket channels for live collaboration. The headless API is a lightweight GraphQL endpoint that exposes the same data structures, allowing any JavaScript framework to consume content without coupling to the admin UI. Deployment is straightforward: a single node process with optional Docker images, and the only external dependency is MongoDB.
Core Capabilities
- In‑Context Editing: Widgets and blocks are editable inline, with real‑time preview via websockets.
- Schema‑Driven Widgets: Define fields once and reuse across pages; rich field types include repeaters, relationships, and file uploads.
- Permission & Workflow: Role‑based access controls, draft publishing, and approval workflows are available out of the box.
- Internationalization: Multi‑language support with automatic translation hooks and locale‑aware routing.
- API Flexibility: REST endpoints for CRUD, GraphQL for complex queries, and a plugin API that lets developers expose custom services.
Deployment & Infrastructure
Apostrophe is self‑hosted by design. A single Docker container (or npm run dev for local) runs the server, and the only mandatory external service is MongoDB. For production, a replica set ensures high availability, while sharding can be enabled for petabyte‑scale content stores. The framework is agnostic to the hosting environment: Kubernetes, ECS, or a simple VPS all work with minimal configuration. The CLI (@apostrophecms/cli) scaffolds projects and manages modules, but the runtime can be embedded into larger Express applications or run as a standalone microservice.
Integration & Extensibility
The module system is the primary extensibility point. Developers can ship npm packages that register new widgets, routes, or even custom authentication backends. The API surface is fully documented; for advanced use cases, the Webhooks system lets external services react to content events (publish, delete). The headless GraphQL layer is auto‑generated from module schemas, so adding a new field automatically updates the API without extra code.
Developer Experience
Apostrophe’s documentation is a living, community‑driven resource. The CLI offers interactive prompts for module creation, and the admin UI is built with React‑hooks that expose editor events. TypeScript support is optional but recommended; the core modules ship with type definitions, and the schema DSL can be validated against JSON Schema. The active Discord community and GitHub issue tracker provide rapid feedback loops, while the open‑source license (MIT) removes any vendor lock‑in.
Use Cases
- Enterprise Web Portals: Multi‑site management via the Assembly module, with granular permissions and automated translation pipelines.
- Headless SaaS Products: Use the GraphQL API to power a React or Astro frontend while retaining a powerful admin for content creators.
- Rapid MVPs: The CLI and pre‑built starter kits (Astro, Apollo) let teams spin up a fully functional site in minutes.
- Marketing Sites & Landing Pages: Inline editing eliminates the need for a separate CMS, speeding time‑to‑market.
Advantages
- Full JavaScript Stack: No context switch between backend and frontend, reducing cognitive load for developers.
- Performance & Scalability: MongoDB’s flexible schema and sharding make it suitable for millions of documents.
- Open Source & Extensible: MIT license, modular architecture, and a rich plugin ecosystem lower the barrier to custom feature development.
- Headless‑Ready Out of the Box: No additional setup required to expose content via GraphQL or REST, enabling integration with any modern frontend.
ApostropheCMS offers a balanced blend of developer ergonomics and editor productivity, making it an attractive choice for teams that need a robust, self‑hosted CMS without sacrificing flexibility or scalability.
Open SourceReady to get started?
Join the community and start self-hosting ApostropheCMS today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
SANE Network Scanning
Open-source scanner control for Linux and Unix systems
FreshRSS
Self-hosted RSS & Atom aggregator
iRedMail
Open‑source mail server built for speed and security

Collabora Online Development Edition
Self-hosted other
Spectrum 2
Cross‑network instant messaging for self‑hosted users
Jina
Build and deploy AI services at scale
