A Strapi alternative for app backends, not content sites
Need a Strapi alternative for app backends rather than a CMS? Kanesh is a small self-hosted data backend with REST, GraphQL, roles and MCP.
If you want a backend for an app, not a content management system, Kanesh is a Strapi alternative built around data: typed collections, relations, REST, GraphQL and per-collection roles in one small container. Strapi has a CMS focus and is the better fit for content-heavy sites. Kanesh is new, at its first stable release, so check the gaps below before you commit.
A CMS and an app backend are different shapes
Strapi is a headless CMS. Its community edition is MIT licensed, with enterprise code under a separate license, and it runs on SQLite, PostgreSQL, MySQL or MariaDB. For websites where editors manage content, that focus is a strength.
An app backend asks for different things. You need tables that match your domain, relations that the database enforces, an API your client code can rely on, permissions per collection, and a way to inspect and fix data. You may not need anything that resembles editorial work.
What an app backend needs
- Typed fields: string, text, integer, float, boolean, datetime, json, file and image.
- Relations with real foreign keys, so the database rejects broken references.
- Indexes of up to four fields, optionally unique, for the queries your app runs.
- REST and GraphQL on every collection without writing controllers.
- An OpenAPI 3.1 export generated from the live schema, so docs do not drift.
- Roles and policies that apply the same way to every request.
- Bounded CSV and JSON import and export for moving data in and out.
What Kanesh provides
You create collections and fields in the Studio. Kanesh writes the SQL tables and serves the API right away. Relations (N:1, 1:N and N:N with junction tables) use real foreign keys on SQLite and PostgreSQL, and the Studio draws a schema graph so you can see how collections connect.
A list request needs no code:
curl -H "Authorization: Bearer $KANESH_TOKEN" \
http://127.0.0.1:8080/api/v1/workspaces/WORKSPACE_ID/collections/orders/records The REST response uses a data and meta envelope, with filters, sort and lookups. Access follows five roles (Owner, Administrator, Editor, Viewer and Public), up to 20 custom roles and 50 policies per workspace, and CRUD overrides per collection. Read access control for the details.
Strapi and Kanesh side by side
| Kanesh | Strapi | |
|---|---|---|
| Focus | Data backend for apps and agents | Headless CMS and content framework |
| License | AGPL-3.0 core; 1 workspace free, unlimited workspaces + AI assistant $9/month per install | MIT community edition, enterprise code under a separate license |
| Databases | SQLite, PostgreSQL, MySQL | SQLite, PostgreSQL, MySQL, MariaDB |
| APIs | REST, GraphQL, OpenAPI 3.1 export | Not compared here |
| AI agents | Opt-in read-only MCP endpoint | Not compared here |
| Footprint | One Docker image, about 8.9 MB | Not compared here |
| Maturity | New, first stable release | Production CMS |
What you give up
Kanesh has no hooks and no SDKs yet, so custom server logic stays in your own service, which calls REST or GraphQL. There is no realtime, no OAuth or SSO and no workflows, and all three are on the roadmap. If you need a mature CMS with an ecosystem around it, choose Strapi.
FAQ
Is Kanesh a headless CMS?
No. Kanesh is a data backend for apps and agents. You can store posts, authors and tags, as the blog use case shows, but it is built for application data rather than editorial work.
Which databases does Kanesh support compared with Strapi?
SQLite is the default, and PostgreSQL and MySQL are supported. MariaDB is not on Kanesh’s supported list. If Kanesh cannot reach the external database you chose, it stops instead of falling back to SQLite. See database setup.
How do the licenses compare?
Strapi’s community edition is MIT, and its enterprise code is licensed separately. The Kanesh core is AGPL-3.0 and free to self-host for one workspace. Unlimited workspaces and the in-Studio AI assistant need a Pro license at $9 per month per install, and that Pro code in ee/ is under the Kanesh Commercial License (draft). See pricing.
Next steps
Run it with Getting started, or read the full Kanesh vs Strapi comparison.


