Strapi logo Strapi logo

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

NPM Version Tests Strapi on Discord Strapi Nightly Release Build Status


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**](https://docs.strapi.io/cms/features/content-type-builder), no code required - Auto-generated [**REST**](https://docs.strapi.io/cms/api/rest) & [**GraphQL**](https://docs.strapi.io/cms/plugins/graphql) APIs for every content type - Granular [**Roles & Permissions**](https://docs.strapi.io/cms/features/users-permissions) out of the box - Built-in [**Media Library**](https://docs.strapi.io/cms/features/media-library), [**Internationalization (i18n)**](https://docs.strapi.io/cms/features/internationalization), and [**Draft & Publish**](https://docs.strapi.io/cms/features/draft-and-publish) - First-class **TypeScript** support with flexible database options (SQLite, PostgreSQL, MySQL, MariaDB) - Extensible [**plugin system**](https://docs.strapi.io/cms/plugins-development/developing-plugins) and customizable admin dashboard > Explore all features at **[strapi.io/features](https://strapi.io/features)** > **Strapi AI** — Automate content modeling, media alt text, and translations with Strapi's built-in AI layer. [Learn more](https://strapi.io/ai) ### How Strapi handles requests Every incoming request flows through a layered backend architecture: **Routes → Middlewares → Controllers → Services**.

Strapi backend request flow: Routes, Middlewares, Controllers, and Services

> Learn more about backend customization in the [official docs](https://docs.strapi.io/cms/backend-customization). ## 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](https://docs.strapi.io/cms/installation/cli#creating-a-strapi-project)** ### Requirements > Hardware & software requirements (OS, Node.js, databases) at **[Requirements docs](https://docs.strapi.io/cms/deployment#hardware-and-software-requirements)** ## 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](https://github.com/strapi-community/strapi-tool-dockerize) repo for more details. > Dockerfiles, Docker Compose examples, production builds at **[Docker installation docs](https://docs.strapi.io/cms/installation/docker)** ## 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**](https://cloud.strapi.io) ## LaunchPad The official demo template combining Strapi with Next.js to get you started quickly. > [**LaunchPad template**](https://github.com/strapi/LaunchPad) ### Try live demo See for yourself what's under the hood by getting access to a [hosted Strapi project](https://strapi.io/demo) with sample data — [try it live](https://strapi.io/demo) or [pull locally](https://github.com/strapi/LaunchPad). ## Repositories | Repository | Description | | ------------------------------------------------------------------- | --------------------------------------------- | | [**strapi/strapi**](https://github.com/strapi/strapi) | Core monorepo, the CMS itself | | [**strapi/design-system**](https://github.com/strapi/design-system) | Strapi Design System, React component library | | [**strapi/LaunchPad**](https://github.com/strapi/LaunchPad) | Demo app: Strapi + Next.js | ## Contributing & Community Strapi is community-built and open source. For help, feedback, or to get involved: - **[Discord](https://discord.strapi.io)**: Live discussion with the community and Strapi team - **[GitHub Discussions](https://github.com/strapi/strapi/discussions)**: Ask questions, share projects, get feedback - **[GitHub](https://github.com/strapi/strapi)**: Bug reports and contributions - **[Contributing Guide](https://contributor.strapi.io/)**: How to contribute code, docs, and translations - **[Community Content](https://github.com/strapi/community-content)**: Showcase, tutorials, starters, and templates - **[Feedback](https://feedback.strapi.io)**: Roadmap and feature requests - **[Twitter](https://twitter.com/strapijs)**: Get the news fast - **[YouTube Channel](https://www.youtube.com/strapi)**: Learn from video tutorials For general help, refer to the [official Strapi documentation](https://docs.strapi.io). New to open source? Check out [How to Contribute to Open Source](https://opensource.guide/). ## Migration Follow our [migration guides](https://docs.strapi.io/developer-docs/latest/update-migration-guides/migration-guides.html) on the documentation to keep your projects up-to-date. ## Roadmap Check out our [roadmap](https://feedback.strapi.io) to get informed of the latest features released and the upcoming ones. You may also give us insights and vote for a specific feature. ## Documentation See our dedicated [repository](https://github.com/strapi/documentation) for the Strapi documentation, or view our documentation live: - [CMS docs](https://docs.strapi.io/cms/intro) - [Cloud docs](https://docs.strapi.io/cloud/intro) ## Security If you discover a security issue, please report it responsibly. See our [Security Policy](https://github.com/strapi/strapi/blob/main/SECURITY.md) for our disclosure process and contact info. ## About Strapi - **[Company Handbook](https://handbook.strapi.io)**: Our values, how we work, and more - **[About Us](https://strapi.io/about-us)**: The story of Strapi [Contact us](https://strapi.io/contact) ## Support Strapi If Strapi is useful to you, give us a star. It helps more than you think! ## Thanks to All Contributors Thank you to everyone who has contributed code, reported issues, and helped shape Strapi. [![Strapi contributors](https://contrib.rocks/image?repo=strapi/strapi&max=400&columns=20)](https://github.com/strapi/strapi/graphs/contributors) ## License See the [LICENSE](./LICENSE) file for licensing information. --- [Website](https://strapi.io) · [Docs](https://docs.strapi.io) · [Blog](https://strapi.io/blog) · [Twitter](https://twitter.com/strapijs) · [LinkedIn](https://www.linkedin.com/company/strapi/)