Directus CMSInstant APIs on top of any SQL database
Directus wraps any SQL database with REST and GraphQL APIs and a no-code admin app. We use Directus for projects that need a flexible data platform — content management, internal tools, and custom dashboards powered by your existing database.
Directus is an open-source data platform that wraps any SQL database with instant REST and GraphQL APIs and a no-code admin app. Unlike traditional CMS platforms that force a content model, Directus adapts to your existing database schema — add it to a new or existing Postgres, MySQL, or SQLite database and get APIs and an admin UI immediately. With over 30,000 GitHub stars, Directus is used as a headless CMS, backend-as-a-service, and internal tool builder. We use Directus when teams need a flexible data platform that goes beyond content management.
Quick start
npx create-directus-project@latest my-project
# Choose your database (SQLite for local, Postgres for production)
# cd my-project && npx directus start
# Admin panel at http://localhost:8055Read the full documentation at docs.directus.io
Database-first approach
Directus wraps your existing SQL database — Postgres, MySQL, SQLite, or others — with zero schema duplication.
Auto-generated REST & GraphQL
Every table gets instant REST and GraphQL APIs with filtering, sorting, pagination, and relational queries.
No-code admin app
A beautiful admin panel for managing data — custom layouts, file management, and user-friendly interfaces for non-technical teams.
Flows automation
Visual workflow builder for automating tasks — trigger on data changes, schedule jobs, and chain operations without code.
Granular permissions
Role-based access with field-level, collection-level, and item-level permissions — control exactly who sees and edits what.
Custom dashboards
Build analytics dashboards directly in Directus — charts, metrics, and data visualizations without a separate BI tool.
Common problems
Complex relational data UI
While Directus handles relations well, deeply nested relational data can be hard for non-technical users to navigate in the admin panel without custom layout configuration.
Performance with large datasets
Auto-generated queries on tables with millions of rows need careful indexing. Complex relational queries may require custom endpoints or database views.
Extension development
Building custom Directus extensions (interfaces, displays, modules) requires understanding the Vue.js-based extension SDK and Directus's internal architecture.
Self-hosting ops
Running Directus in production requires Docker or Node.js hosting, database management, file storage (S3/local), and proper backup strategies.
Best practices
Design your database schema before adding Directus
Since Directus mirrors your SQL schema, a well-designed database means a better admin experience. Plan tables, relations, and indexes before connecting Directus.
Use Directus Flows for automation
Replace cron jobs and custom scripts with Directus Flows — trigger on data changes, send emails, call webhooks, and chain operations visually.
Leverage database views for complex queries
Create SQL views for complex aggregations or joins and expose them through Directus as read-only collections — better performance than deep API population.
Set up Directus Cloud or Docker for production
Use Directus Cloud for managed hosting or deploy via Docker with environment variables for configuration. Never run development mode in production.
Frequently asked questions
Related technologies
Related services
Looking for end-to-end delivery? These services complement Directus projects.
Ready to start your Directus project?
Tell us what you're building with Directus. We'll respond within 24 hours.
We limit intake each month so every project gets the focus it deserves.