
1 / 2Directus is a layer that sits on top of an existing SQL database rather than replacing it. Point it at a database and it introspects the schema, then generates a REST and GraphQL API plus an admin application for the tables it finds. The database remains the source of truth.
That inversion is the main difference from a conventional CMS. Content is not locked in an application-specific structure: the tables are ordinary SQL tables, readable by other tools and migrations. Custom fields, relations, and permissions are configured in Directus and stored in the same database, so a DBA can still work with the schema directly.
The product is open source and self-hostable, with a paid cloud offering. It fits teams that already have a database and want an admin interface and API over it without migrating. It is a weaker fit when the schema is expected to change constantly, since the database is the contract.
Directus' inversion is that it adapts to an existing schema rather than requiring the data to be modelled inside the application.
Point Directus at a SQL database and it reads the schema. Every table becomes a collection, every column a field, and the platform generates a REST and GraphQL API plus an admin interface over them. There is no import step and no second copy of the data, so the database remains the thing other services and migrations operate on.
Configuration lives in the same database. Field presentation, relations, roles, and permissions are stored in dedicated tables, which means the setup is portable and a DBA can still inspect the schema directly. Custom endpoints and hooks extend the API in code.
The product is open source and self-hostable, with a paid cloud offering. It fits a team that already has a database and wants an admin layer and API without migrating. It is a weaker fit when the schema churns constantly, because the database is the contract every other consumer depends on.
An existing SQL schema becomes collections and fields without an import or a second copy of the data.
Both API surfaces are produced from the schema, so a frontend can consume the data immediately.
Field-level access rules are configured per role, which covers the access control a back office needs.
Custom endpoints, hooks, and interface extensions let the platform fit a specific operation.
Choose Directus when a SQL database already exists and the missing pieces are an admin interface, an API, and permissions over it.
Look elsewhere if the schema is expected to change frequently or if the team wants a CMS that owns the content model. Directus treats the database as the contract, which is a strength and a constraint.
Pointing it at a database is quick; permissions are the work.
Connect a database and the existing tables appear as collections with generated APIs.
The open-source edition is free to self-host. A paid cloud offering exists.
A SQL database with tables in it, plus somewhere to run the application.
Constraints confirmed from the project's documentation.
It adds an admin interface, APIs, and permissions over the schema you already have, without moving the data.
The differentiator is that the data stays where it is: tables are ordinary SQL that other tools and migrations can still operate on.
If the schema is expected to change constantly, or you want a CMS that owns the content model, this is the wrong shape.
Directus is a data platform that sits on an existing SQL database and generates an admin application plus REST and GraphQL APIs.
The core is open source and free to self-host. A paid cloud offering is also available.
No. It introspects the existing database and leaves the data in place, using the schema as the source of truth.
Yes. Roles carry field-level permission rules that are enforced by the API.
CompassPad records Directus as a Node.js and TypeScript backend with a Vue admin application, based on its public repository.
The marketing site resolved and the primary product link reached the application.
The pricing page resolved and lists a free open-source edition alongside a paid cloud offering.
Documentation is public and covers architecture, APIs, roles, and extensions.
A dated public blog publishes releases and is reachable without an account.
No comments yet. Be the first.
Join the conversation. Sign up to comment.
Sign up free