Dashboard and API served by the Astro site itself
StudioCMS is a TypeScript CMS that installs as an Astro integration. The site itself serves the admin dashboard (at /dashboard by default), the login and the content API, while content lives in a libSQL, MySQL or PostgreSQL database. Astro pages read it through a virtual module, studiocms:sdk.
The project's docs start from a plain observation: Astro is built for developers, and nothing in it can be handed to a client who just wants to edit a page. Strapi answers that need with a separate server whose API feeds any front end. TinaCMS writes content as Markdown into the Git repository. StudioCMS keeps a database, but the CMS runs inside the Astro project.
The open source headless CMS comparison sets out what each one demands from the site that hosts it.
One deploy, with page formats picked by plugin
- One deployment: the dashboard ships as part of the built project. There is no second service to host and no API key to pass between back office and front end.
- Page formats come from plugins: Markdown, MDX, Markdoc, HTML or a WYSIWYG editor, each in its own package (
@studiocms/md,@studiocms/wysiwyg...). Other official plugins add a blog front end, the Cloudinary image service or file storage on S3, and the plugin API lets you write your own. - Accounts and permissions built in: username and password out of the box, plus GitHub, Discord, Google or Auth0 sign-in through
@studiocms/oauth. Every account holds one of four ranks (owner, admin, editor, visitor), and the dashboard issues the REST API tokens. - Three SQL databases: libSQL by default, MySQL or PostgreSQL, queried through Kysely. Schema changes ship as migrations you run from the command line (
studiocms migrate --latest). - MIT license: the project's site sells no paid edition and no managed hosting.
Requires Astro 7 and SSR, breaks in minor releases
Astro 7 has been mandatory since 0.5.0. Released on September 24, 2026, that version declares astro ^7.0.0, while every release from 0.1.0 to 0.4.4 declared Astro 5. No published version has ever accepted Astro 6. Astro 7 in turn needs Node.js 22.12 or later, and StudioCMS runs on neither Bun nor Deno. The project's homepage still says it works with "any Astro v5 project".
The site has to run server-side. The docs require an Astro adapter that handles SSR routes, the site option, a reachable database and a CMS_ENCRYPTION_KEY. Static file hosting is not enough.
Sign-up is open by default. allowUserRegistration stays true unless the config turns it off, and the dashboard then exposes a registration page.
Content translations are not supported. Managing the same content in several languages has been an open request since May 2024 (issue #55).
The REST API mainly serves the CMS. It runs on token-protected Astro endpoints, and the docs describe it as "primarily used internally by StudioCMS".
A 0.x that breaks in minor releases, carried by one developer. Version 0.1.0 shipped on January 15, 2026, after betas published since September 2024, and 0.6.1 came out on October 1, 2026. Six months passed between 0.4.4 (March 14, 2026) and 0.5.0. Version 0.5.0 dropped Astro 5; 0.6.0 removed a field from the plugin API, so a plugin still passing it fails TypeScript checking. Of the 1,700 commits on the main branch, one developer authored 905 and the Renovate bot 573; the next human contributor has 18.
