Skip to main content
Alejandro Cantero Jódar

Best SQLite CMS: Open-Source Headless Options for 2026

· Open Source · Updated

Best SQLite CMS: Open-Source Headless Options for 2026

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

CMSLatest versionSQLite supportLicenseManaged hosting
Strapi5.xYes, default for new projectsMIT core + paid EE featuresStrapi Cloud, from $35/month
Directus12.xYes (sqlite3 driver)MSCL 1.0 (source-available)Cloud from $99/month
KeystoneJS6 (core 8.x)Yes, via PrismaMITNone
Payload3.xYes (@payloadcms/db-sqlite)MITNot open to new sign-ups
Cockpit2.xYes, default storageMIT core, Pro €299 one-timeNone
EmDash1.xYes, native (also D1 and Turso)MITCloudflare 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.

GitHub Repository

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.

GitHub Repository

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.

GitHub Repository

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.

GitHub Repository

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.

GitHub Repository

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.

GitHub Repository

Which SQLite CMS should you choose?

If you want…Pick
The largest ecosystem and pluginsStrapi
An admin panel on top of an existing SQL databaseDirectus (check the new license first)
Code-first schemas with a GraphQL APIKeystoneJS
A CMS embedded in a Next.js appPayload
The lightest possible setup with PHPCockpit
An Astro site with the CMS built inEmDash

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.

GitHub Repository

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!

Continue reading

The Future of RxJS in Angular