Strapi: The Popular Open Source Headless CMS

Strapi: The Popular Open Source Headless CMS

Strapi is a headless CMS: it manages content and serves it through an API, leaving the website, app, or anything else to fetch and display it however it likes. Editors get a friendly admin panel; developers get REST and GraphQL endpoints. It is one of the most popular open source CMS projects.

Headless, briefly

A traditional CMS like WordPress stores content and renders the website. A headless CMS only stores and serves content. The same articles can feed a static site built with Hugo or Astro, a mobile app, and a digital sign. The trade-off is that you build the front end yourself.

Features

  • A visual Content-Type Builder to define content structures without code
  • Auto-generated REST and GraphQL APIs for every content type
  • Role-based access control for the admin panel and the public API
  • A media library
  • Internationalisation for multilingual content
  • Draft and publish workflows
  • TypeScript support and a plugin system

Deployment

Strapi is a Node.js application supporting SQLite, PostgreSQL, MySQL, and MariaDB. You typically create a project with its CLI, build your content types in development, and deploy the project to a server or container. Use PostgreSQL in production, keep uploads on persistent storage or S3, and put it behind a reverse proxy. Strapi Cloud is the official managed option, and an Enterprise Edition adds features such as SSO and audit logs.

Alternatives

  • Directus: wraps any SQL database with an admin app and APIs
  • Payload: a code-first TypeScript CMS
  • Ghost: publishing-focused, with headless APIs as well

License

MIT (Community Edition); Enterprise Edition features are commercially licensed.