strapi /strapi

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

★ 73,450⑂ 10,023👁 646⑃ 14,630● 12,370▤ 553◈ 917
TypeScriptNOASSERTIONCreated 2015-09-30strapi.io
73,450
stars
+1+26+169
10,023
forks
646
watchers
14,630
prs
12,370
issues
553
releases
917
discussions

README

Open-source headless CMS, self-hosted or Cloud you're in control.
The leading open-source headless CMS, 100% JavaScript/TypeScript, flexible and fully customizable.
Docs · Strapi Cloud · Roadmap · Discord · Discussions


  
    
  
  
    
  
  
    
  
  
    
  




Strapi is an open-source, self-hosted headless CMS that lets developers build content APIs fast while giving content creators a friendly editing interface. Define your content models and Strapi generates a full API, ready to consume from any frontend, mobile app, or IoT device.

- Design content structures visually with the Content-Type Builder, no code required
- Auto-generated REST & GraphQL APIs for every content type
- Granular Roles & Permissions out of the box
- Built-in Media Library, Internationalization (i18n), and Draft & Publish
- First-class TypeScript support with flexible database options (SQLite, PostgreSQL, MySQL, MariaDB)
- Extensible plugin system and customizable admin dashboard

 Explore all features at strapi.io/features

 Strapi AI — Automate content modeling, media alt text, and translations with Strapi's built-in AI layer. Learn more

 How Strapi handles requests

Every incoming request flows through a layered backend architecture: Routes → Middlewares → Controllers → Services.


  


 Learn more about backend customization in the official docs.

 Getting Started

Read the Getting Started tutorial or follow the steps below:

 ⏳ Installation

Use the Quickstart command below to create a new Strapi project instantly:

bash
npx create-strapi@latest my-project


This command generates a brand new project with the default features (authentication, permissions, content management, content type builder & file upload).

 Full installation options (including TypeScript, --quickstart, etc.) in the CLI installation docs

 Requirements

 Hardware & software requirements (OS, Node.js, databases) at Requirements docs

 Docker

Strapi doesn't ship official Docker images, so you build your own from your project. The fastest way to get started is with the community CLI tool:

bash
npx @strapi-community/dockerize@latest


This generates a Dockerfile and docker-compose.yml tailored to your project. See the strapi-tool-dockerize repo for more details.

 Dockerfiles, Docker Compose examples, production builds at Docker installation docs

 Deploy to Strapi Cloud

The fastest way to go from local to production. Strapi Cloud is the official managed hosting platform with zero DevOps, a built-in database, media library, and CDN.

 Deploy now

 LaunchPad

The official demo template combining Strapi with Next.js to get you started quickly.

 LaunchPad template

 Try live demo

See for yourself what's under the hood by getting access to a hosted Strapi project with sample data — try it live or pull locally.

 Repositories

| Repository                                                          | Description                                   |
| ---------------------------------------------

Top issues

Discussions

Latest release

v5.61.0 v5.61.0 2026-11-04
5.61.0 (2026-11-04)

 🚀 New feature

- audit-logs: record history restores, discarded drafts, settings updates and media events (28178)

 🔥 Bug fix

- admin: add missing english keys and french translations (28354)
- admin: package exports point to source files that do not exist (28326)
- admin: make action provider registerMany all-or-nothing (28324)
- content-manager: offscreen required uids lose their default value when saving after load (35ce71beb2)
- content-manager: edit view rows mounted for an error unmount once the errors are cleared (26272dd9c6)
- content-manager: send a single relat

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON