Best SQLite CMS: Open-Source Headless Options for 2026
· Open Source · Updated

I’ve been searching for the best open-source headless CMS for my personal blog, and one of my top priorities was finding something cheap, scalable, and easy to manage. Since I didn’t want to deal with complex database setups, SQLite became an obvious choice: it’s lightweight, requires minimal configuration, and can be deployed anywhere. After diving deep into various options, researching community opinions, and testing a few myself, I’ve compiled a list of the best open-source headless CMS that support SQLite and can be easily deployed using Docker.
Updated in September 2026: new major versions, Directus’ license change, Payload’s acquisition by Figma, and a new contender from Cloudflare.
SQLite CMS comparison at a glance
| CMS | Latest version | SQLite support | License | Managed hosting |
|---|---|---|---|---|
| Strapi | 5.x | Yes, default for new projects | MIT core + paid EE features | Strapi Cloud, from $35/month |
| Directus | 12.x | Yes (sqlite3 driver) | MSCL 1.0 (source-available) | Cloud from $99/month |
| KeystoneJS | 6 (core 8.x) | Yes, via Prisma | MIT | None |
| Payload | 3.x | Yes (@payloadcms/db-sqlite) | MIT | Not open to new sign-ups |
| Cockpit | 2.x | Yes, default storage | MIT core, Pro €299 one-time | None |
| EmDash | 1.x | Yes, native (also D1 and Turso) | MIT | Cloudflare Workers |
Strapi
Strapi is a widely popular open-source headless CMS written in JavaScript/TypeScript. It provides both REST and GraphQL APIs, making it flexible for different use cases. The admin panel, built with React, is sleek and highly customizable. SQLite is the default database for new projects (through better-sqlite3), and it also supports PostgreSQL, MySQL, and MariaDB.
Key Features:
- API-first approach (REST & GraphQL support)
- User authentication and role-based access control (RBAC)
- Plugin system for extending functionality
- Easy customization of API endpoints and admin UI
- File and media management
- Good documentation and active community support
Pricing: The Strapi core is free under the MIT license, and RBAC is included in the free Community plan. Features like Live Preview, Releases and Content History sit in the paid Growth plan ($45/month for 3 seats), while SSO, Review Workflows and Audit Logs are Enterprise-only. Strapi Cloud, the managed hosting service, starts at $35/month.
User Opinions: Strapi has a strong following, but opinions vary. Some developers love its flexibility and plugin system, while others find it requires too much customization for advanced use cases. The migration from v4 to v5 was a pain point for many teams, but the overall sentiment is that Strapi keeps improving with each release.
Directus
Directus takes a unique approach by acting as a wrapper around any SQL database, meaning it works with existing databases without enforcing a strict schema. This makes it a fantastic choice for those who want a fully customizable database structure.
Key Features:
- Works with SQLite, PostgreSQL, MySQL, MS SQL, Oracle and CockroachDB
- Auto-generates REST and GraphQL APIs
- User-friendly admin panel (Directus Studio)
- Role-based access control (RBAC) with granular permissions
- Webhooks, flows and a real-time event system
- Extensible with custom modules
Pricing: This is the biggest change since I first wrote this article. With version 12, Directus replaced the BSL 1.1 with the Monospace Sustainable Core License (MSCL 1.0), where each release becomes GPLv3 after four years. Self-hosted instances now run on a free Core tier with usage limits (seats, collections and flows), and features like SSO or custom permission rules need a paid license. Small organizations (under $5M in revenue and under 50 employees) can apply for a free Innovation Grant. Managed cloud hosting starts at $99/month.
User Opinions: Many developers appreciate Directus for its “database-first” philosophy, allowing them to use existing SQL structures without modifications. The UI is well-received, and the learning curve is considered manageable. However, the v12 license enforcement has pushed some self-hosters to reevaluate, and some users still find its multi-language content handling limited.
Does Directus support SQLite?
Yes. Directus supports SQLite through the sqlite3 driver, and the only setting you need is the path to the database file:
DB_CLIENT="sqlite3"
DB_FILENAME="./data/database.db"That makes it one of the easiest CMS to spin up in a single Docker container with a mounted volume. Keep in mind that SQLite handles one writer at a time: it is great for a blog, a portfolio or a small team, but if you expect many editors writing concurrently, PostgreSQL is the safer bet.
KeystoneJS
KeystoneJS is a headless CMS and GraphQL API framework designed for full customization. It follows a code-first approach, where schemas and configurations are written in JavaScript/TypeScript. It is still actively maintained, with regular releases throughout 2026.
Key Features:
- Built-in GraphQL API
- Fully customizable schema definitions
- User authentication and session handling
- Role-based access control
- Supports SQLite, PostgreSQL, and MySQL through Prisma
- Plugin system for extending functionality
Pricing: Keystone is completely free under the MIT license. There are no paid plans or commercial services; it’s fully community-driven.
User Opinions: Keystone is well-loved by developers who prefer a code-first approach. It offers fine-grained control over content models but has a steeper learning curve compared to Strapi or Directus. Users also note that it lacks some out-of-the-box features, such as built-in multi-language support.
Payload CMS
Payload is a modern headless CMS focused on developer experience, with full TypeScript support and a minimalistic admin panel. Since version 3 it installs directly into a Next.js app, and in June 2025 it was acquired by Figma. The project remains MIT-licensed, and version 4 (with a UI redesign based on Figma’s design system) is already in canary.
Key Features:
- Full TypeScript support, native to Next.js
- REST and GraphQL APIs
- Custom field types and UI extensions
- User authentication with JWT
- Versioning and draft/publish workflows
- Supports SQLite (via Drizzle and libSQL, including Turso), PostgreSQL, and MongoDB
Pricing: Payload is open-source under the MIT license, so self-hosting is free. Payload Cloud has not been accepting new projects since the Figma acquisition, so plan on hosting it yourself.
User Opinions: Payload has gained traction for its developer-centric approach. Users appreciate its clean API, extendability, and built-in authentication. However, it requires some initial setup and configuration, making it better suited for experienced developers.
Cockpit CMS
Cockpit is a lightweight PHP-based headless CMS designed for simplicity. It stores content in SQLite out-of-the-box (MongoDB is optional), making it an excellent choice for small projects that require minimal setup.
Key Features:
- Simple and intuitive UI
- API-first approach with RESTful JSON endpoints
- Multi-language content support
- Role-based user management
- Extensible via plugins
Pricing: Cockpit is free under the MIT license. Cockpit Pro is a one-time purchase (€299 per project, with one year of updates and an optional €99/year afterwards) for premium add-ons like cloud storage, webhooks, and enhanced multi-language features.
User Opinions: Cockpit is highly regarded for its simplicity and speed, making it ideal for smaller projects or those who prefer a minimalistic CMS. However, its community is smaller, and the lack of built-in GraphQL support might be a downside for some.
EmDash (new in 2026)
EmDash is Cloudflare’s take on a modern CMS, pitched as a spiritual successor to WordPress. It is written in TypeScript, installs as an Astro integration, and reached 1.0 in April 2026. It runs on Cloudflare Workers with D1, or on any Node server with a plain SQLite file.
Key Features:
- SQLite-first, with support for D1, Turso/libSQL, and PostgreSQL (via Kysely)
- Built on Astro, so content and site live in the same project
- Runs on Cloudflare Workers or any Node server
- Plugin system
Pricing: EmDash is free under the MIT license.
User Opinions: It is very young, and its own README still calls it a beta preview despite the 1.x version number. If you already build with Astro and want SQLite without running a separate CMS service, it is worth trying. For a production site with several editors, I would wait for it to mature a bit.
Which SQLite CMS should you choose?
| If you want… | Pick |
|---|---|
| The largest ecosystem and plugins | Strapi |
| An admin panel on top of an existing SQL database | Directus (check the new license first) |
| Code-first schemas with a GraphQL API | KeystoneJS |
| A CMS embedded in a Next.js app | Payload |
| The lightest possible setup with PHP | Cockpit |
| An Astro site with the CMS built in | EmDash |
Final Thoughts & Plot Twist
After all this research, I actually decided to go with PocketBase. While it’s not exactly a CMS, it’s more of a Backend-as-a-Service (BaaS) created by Gani. It is still in its pre-1.0 phase (v0.40 at the time of this update, so expect breaking changes between versions), but it is actively maintained and provides a rapid development experience with SQLite at its core. What I love most is that if I ever need something more advanced, migrating away from it is relatively straightforward.
SQLite is an excellent choice for self-hosted alternatives, and each of these CMSs has its strengths. However, after testing them, I found PocketBase to be the best fit for my personal needs!


