Directus is an open-source, self-hostable platform that converts existing SQL databases into headless CMS backends with instant APIs and a customizable admin interface. It’s designed for developers and non-technical teams who need to manage structured data without writing backend code or migrating databases. By layering a modern Vue.js dashboard on top of SQL databases, Directus eliminates the need for custom API development, authentication systems, or content management UIs.
Built with Node.js and TypeScript, Directus supports PostgreSQL, MySQL, MariaDB, SQLite, MS-SQL, OracleDB, and CockroachDB. It can be deployed on-premises, in the cloud via Directus Cloud, or with one-click setups on Railway. The platform includes built-in authentication, role-based permissions, custom hooks, and AI integrations, making it ideal for teams building custom apps, content platforms, or AI-powered tools that require structured data access.
What You Get
- REST & GraphQL APIs - Instantly generate fully documented, real-time APIs from any SQL database with no code generation or boilerplate required.
- No-Code Admin Dashboard - A Vue.js-based interface for non-technical users to manage content, media, and data relationships without writing SQL or code.
- Support for 7 SQL Databases - Works with PostgreSQL, MySQL, MariaDB, SQLite, MS-SQL, OracleDB, and CockroachDB—no migration needed, data stays in your existing database.
- Policy-Based Access Control - Granular, field-level permissions per role, allowing precise control over who can view, edit, or delete specific data fields.
- Custom Endpoints & Hooks - Extend functionality with custom API endpoints, server-side hooks, and interface modules using JavaScript/TypeScript.
- Built-in AI Assistant & MCP Server - Native AI integration with a structured data layer that enables AI agents and models to query and interact with your data directly.
Common Use Cases
- Building a content-rich web app with existing data - A startup uses Directus to expose their legacy MySQL database as a headless CMS, letting marketers update product descriptions without touching code.
- Powering a multi-user editorial workflow - A newsroom connects Directus to their PostgreSQL database to let journalists submit and approve articles, while editors manage metadata and images through the no-code interface.
- Creating a backend for an AI-powered application - A developer uses Directus’s MCP server to structure customer data for an LLM agent that generates personalized recommendations from their SQL database.
- Managing data for a SaaS product without building an admin panel - A B2B SaaS company uses Directus to give clients a branded, secure interface to manage their own configuration data, reducing support tickets by 3x.
Under The Hood
Architecture
- Monolithic backend built on Express.js with Knex.js, featuring a service registry pattern for pluggable synchronization backends like memory and Redis
- Frontend admin app uses Vue 3 and TypeScript with a plugin system that dynamically extends UI components without modifying core code
- Modular monorepo structure cleanly separates API, admin interface, and extensions, though dependency injection remains implicit rather than formally enforced
- Component-driven design with composables and utility functions promotes reusability in the frontend, while CSS-in-JS enables theme-aware, presentation-layer isolation
Tech Stack
- Node.js 22 powers the backend with TypeScript as the unified language across API and admin layers
- Multi-database support via Knex enables seamless compatibility with PostgreSQL, MySQL, SQL Server, and more, with SQLite for local development
- Monorepo managed with pnpm, organizing core services, SDK, and test suites into isolated workspaces
- Docker-based development and production environments with multi-stage builds, PM2 process management, and integrated services like Redis, MinIO, and Keycloak
- Modern tooling stack includes Vitest, ESLint, Stylelint, Prettier, and Changesets for consistent quality and automated releases
- First-class integrations with AI and cloud storage providers via @ai-sdk, @aws-sdk, and @google-cloud/storage
Code Quality
- Extensive test coverage across API and UI layers using Vitest with robust dependency mocking for isolated unit and integration tests
- Strong TypeScript type safety enforces correctness in critical paths like telemetry, block editor sanitization, and system collection validation
- Consistent, intent-driven naming conventions and defensive programming ensure clarity and reduce runtime failures
- Comprehensive linting and clear package separation maintain scalability and maintainability in a complex monorepo
- Proactive security measures such as HTML sanitization and CSP headers demonstrate a security-first approach to user-generated content
What Makes It Unique
- Business Source License with commercial transition clause enables sustainable open-core development in a competitive headless CMS landscape
- Declarative, plugin-based UI extensions allow deep customization without touching core code
- Unified real-time event emitter bridges API and admin app for cross-layer observability and plugin-driven workflows
- Dynamic field-level permissions and conditional UI rendering adapt the admin interface to runtime data states
- First-class deployment provider integrations with dynamic credential handling streamline CI/CD pipelines
- Native AI tool hooks in core data stores enable AI-augmented data management without external plugins