Apostrophe
Node.js CMS with in-context page editing, a structured content type system, and REST APIs. Built for agencies and teams that need editable, component-driven sites without a headless-only workflow
Quick Start
npx create-apostrophe-app my-project && cd my-project && npm run dev Overview
Apostrophe is a Node.js CMS where content editing happens directly on the page rather than in a separate admin panel. Click on a text block, image, or widget in the browser, and an editing toolbar appears inline. For teams building content-heavy sites, this removes the back-and-forth of a traditional CMS workflow where editors constantly switch between a preview and a dashboard to see what their changes actually look like.
The content model is built around two core concepts. Pages hold the structure of a URL and the layout of widgets on that page. Pieces are standalone content types — articles, team members, case studies, products — that exist independently of any single page. A piece can appear in a listing widget on one page, a featured block on another, and via the REST API in a mobile app, all drawing from the same record. This separation between content and presentation is what makes Apostrophe work well for agencies managing complex site architectures.
The admin UI runs on Vue.js with a live preview mode. Field types cover rich text, images, video, relationships, arrays, and custom types you define in code. MongoDB is the required data store; there is no SQL option, which is a hard dependency to evaluate before committing.
Version 3 (A3) is a full rewrite with a modern async/await codebase, improved performance, and the current REST and optional GraphQL APIs. If you are on an older A2 project, the migration path is substantial enough to be treated as a rebuild rather than an upgrade.
Apostrophe has shipped sites for NASA, Pew Research, and Princeton University. For teams that need a full-stack CMS with in-page editing and a clean content API, it fills a gap between WordPress (PHP, plugin-heavy) and purely headless CMSes that require a separate frontend.
Apostrophe: Pros & Cons
| Pros (The Wins) | Cons (The Friction) |
|---|---|
| In-context editing: Edit content directly on the page; no separate admin view needed. | MongoDB only: No SQL support; adds a database dependency to manage. |
| Pieces content model: Reusable content types with their own API endpoints. | A2 to A3 migration: Version 3 is a full rewrite; no smooth upgrade from v2. |
| REST + GraphQL: Full-stack and headless modes from the same install. | Smaller ecosystem: Fewer modules than WordPress or Drupal for edge cases. |
| Vue-powered admin: Live preview; rich field types and relationship support built in. | Node.js deployment: More moving parts than PHP CMSes on shared hosting. |
Use Cases
Specific ways to use Apostrophe for your workflow.
Deployment Strategy
Recommended ways to host Apostrophe in your own environment.