DrystoneCMS

Drystone CMS vs. Directus
Open data, fewer moving parts.

Directus puts an admin on your existing database and keeps your data in ordinary SQL tables. That is a good idea, and it is the same idea here. The difference is what you have to run to make it work — and where your content model lives.

Get started See the comparison

The short version

If you already have a database with existing tables you want to expose, Directus is stronger: it was built for exactly that. Starting from zero, you are running a Node application plus Postgres for something Drystone does in one process — with a schema in git instead of in the database you were trying to manage.

Point by point

Drystone CMS next to Directus.

CriterionDrystone CMSDirectus
Install Drystone CMSOne binary; under a minute to a working admin. DirectusNode or Docker, plus a database you set up and operate yourself.
Database Drystone CMSSQLite built in; Postgres optional for large sites. DirectusPostgres, MySQL, SQLite and more — but always provisioned separately.
Content model Drystone CMSschema.yaml in git, with reversible migrations and a dry-run diff. DirectusThe model lives in the database; schema snapshots exist but are a separate step.
Complexity Drystone CMSOne product, one way. Batteries included, no configuration layer around it. DirectusVery many settings, flows and permissions — powerful, and a lot to learn.
Memory Drystone CMSAbout 181 MB idle, database included. DirectusA Node process plus a database server; a heavier machine in practice.
API Drystone CMSREST with an OpenAPI 3 spec; delivery serves published work only. DirectusREST and GraphQL, derived automatically from your tables.
Editing Drystone CMSBlock editor with drafts, version history and split-screen preview. DirectusStrong as a data admin; as an editorial surface it still feels like a database tool.
Licence & cloud Drystone CMSOpen source, self-hosted, every feature included. DirectusOpen source with a paid cloud; some things are tied to it.
Backup Drystone CMSCopy one file, plus the media folder. DirectusA database dump plus uploads.

What Directus does well

  • Database-first: your data stays ordinary tables, with no proprietary storage format.
  • Excellent for exposing an existing database without rebuilding it.
  • REST and GraphQL straight from your schema, plus flows for automation.
  • Field-level permissions, which matter in larger organisations.

Where it hurts in practice

  • You run a Node application and a database server, with everything that entails.
  • The sheer number of options makes small projects heavier than they need to be.
  • The content model lives in the database, not in version control.
  • The editing experience is functional but not aimed at writers.

Honest advice

When you are better off staying with Directus.

Stay with Directus if…

Choose Directus if you want to expose an existing database, if you need field-level permissions, or if you want to build automations (flows) inside the CMS rather than outside it.

Choose Drystone if…

Choose Drystone if you are starting from zero, if schema-in-git is a hard requirement, and if you would rather operate one process than two.

Switching

From Directus to Drystone, in four steps.

  1. Describe your Directus collections in schema.yaml — the concepts sit close to each other.
  2. Export your items through the REST API and import them with the import CLI.
  3. Move the files from your storage adapter into the media folder.
  4. Replace the SDK calls with plain fetch calls; the query shape resembles what you had.

Install it now

Frequently asked

What people ask before switching.

Can Drystone run on an existing database?

No, not the way Directus does. Drystone owns its schema and migrations; it is not a layer over arbitrary existing tables. If that is your starting point, Directus is the right tool.

Are there field-level permissions?

Not in v1. There are roles (Admin, Editor, Author limited to their own content, Reader/API) and API keys with scopes. That covers most editorial teams; if you need rules per field per role, Directus is finer-grained.

Will my data still be readable without the CMS?

Yes. It is a SQLite file with ordinary tables, openable with any SQLite client — and exporting to JSON or Markdown is one command.