Repolode
strapi

strapi/strapi

Open-source, self-hosted headless CMS in TypeScript that generates REST and GraphQL content APIs from your content models.

Open-source alternative to:ContentfulSanityDirectus

Stars
73,355
Forks
9,911
Open issues
616
Last commit
4 hours ago

What is it?

Strapi is a self-hosted headless CMS for building content APIs. You define content types visually in the Content-Type Builder, and Strapi generates REST and GraphQL endpoints for each one, which any frontend, mobile app, or device can consume. Content creators get an admin dashboard for editing, while developers can customize the backend through routes, middlewares, controllers, and services.

The project includes built-in roles and permissions, a media library, internationalization, and draft and publish workflows. It is written in TypeScript and supports SQLite, PostgreSQL, MySQL, and MariaDB. Extensions are handled through a plugin system, and the admin dashboard can be customized.

A project can be created with a single npx command. Strapi Cloud offers managed hosting, and the repository also includes LaunchPad, a demo template that pairs Strapi with Next.js.

Key features

  • 01Visual Content-Type Builder for defining content models without code
  • 02Auto-generated REST and GraphQL APIs for every content type
  • 03Granular roles and permissions out of the box
  • 04Built-in media library, internationalization, and draft and publish
  • 05Supports SQLite, PostgreSQL, MySQL, and MariaDB
  • 06Extensible plugin system and customizable admin dashboard

Use cases

  • Serving content to a Next.js or other JavaScript frontend through a content API
  • Giving non-technical editors a dashboard to manage multilingual content
  • Providing a backend for mobile apps or IoT devices that need structured content

Quick start

  1. 1

    Create a new project with the Quickstart command

    npx create-strapi@latest my-project
  2. 2

    Optionally, containerize your project with the community Docker tool

    npx @strapi-community/dockerize@latest

Things to know

  • Strapi does not ship official Docker images, so you must build your own.
  • License is listed as NOASSERTION in metadata; check the LICENSE file before commercial use.

Topics

FAQ

What is strapi?
Open-source, self-hosted headless CMS in TypeScript that generates REST and GraphQL content APIs from your content models. Strapi is a self-hosted headless CMS for building content APIs. You define content types visually in the Content-Type Builder, and Strapi generates REST and GraphQL endpoints for each one, which any frontend, mobile app, or device can consume. Content creators get an admin dashboard for editing, while developers can customize the backend through routes, middlewares, controllers, and services.
Is strapi free to use? What license does it have?
strapi is open source under the Other license. Check the license terms before using it in commercial products.
Is strapi still maintained?
Actively maintained. The last commit to strapi was on Oct 21, 2026.
What can I use strapi for?
Serving content to a Next.js or other JavaScript frontend through a content API Giving non-technical editors a dashboard to manage multilingual content Providing a backend for mobile apps or IoT devices that need structured content
How do I install strapi?
Create a new project with the Quickstart command: npx create-strapi@latest my-project Optionally, containerize your project with the community Docker tool: npx @strapi-community/dockerize@latest
Where can I get strapi?
The source code and installation instructions are on GitHub: https://github.com/strapi/strapi

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects