Website • Docs • API Reference • User Guide • Contribute • Twitter • Community
Directus is an open-source tool that wraps your database with an API, and provides an intuitive admin app for non-technical users to manage its content. It's what you'd get if you mixed a headless CMS, database client, and WebApp builder. Created in 2004, our platform powers over a million data-driven projects around the world.
The Directus Suite consists of:
- Directus Database API — Wraps any new or existing SQL database with RESTful JSON endpoints for connecting content anywhere: websites, native apps, wearables, IoT devices, kiosks, or anything else!
- Directus Admin App — A friendly admin interface built with Vue.js that works in conjunction with our API to allow non-technical users to manage database content and digital assets.
✨ Key Concepts
Directus follows a database-first approach, storing all of your data unaltered in pure SQL databases that can be completely customized.
Customization & Optimization
Directus mirrors your actual SQL architecture and data, so it will automatically stay in sync with any changes made directly to the database! With the full power of SQL unlocked, you can:
- Architect your actual database with meaningful table and column names
- Infinitely optimize with indexing, datatypes, lengths, defaults, keys, encoding, etc
- Update your database schema at any point and Directus will instantly reflect the changes
- Create, update, and delete content directly from the database
Direct Access & Performance
This database-first approach means that you have the option to bypass Directus if needed. Connecting your application directly to the database means Directus is completely bypassed, removing even the slightest possiblility of a bottleneck, and giving you the unbridled power of complex SQL queries.
Portability & Transparency
Directus is not a black-box system. There is nothing proprietary or opinionated about how Directus stores your content so you're never locked-in or locked out. Import existing SQL to get started quickly, and rest assured that you can also export your unaltered content as vanilla SQL at any point. You can also self-host the entire suite on your own servers if needed or use our hosted Cloud service.
Whether you need many-to-one, one-to-many, many-to-many, or something completely different... Directus has you covered. You can set up relationships between tables, then fetch that nested relational data using our dot-notation parameters.
Modular & Extensible
We've intentionally kept our codebase as simple and lightweight as possible. Every aspect of Directus has been modularized, with many options for extending, overriding, or even bypassing the core system. Choose your auth providers, storage adapters, content interfaces, data presentation, and more. We also have webhooks, event hooks, API response filters, custom endpoints, CSS/JS override files, and much more.
Furthermore, Directus supports full multitenancy, so you can use a single instance of Directus to manage multiple project databases. That means agencies can organize their clients, companies can organize their properties, and projects can organize environments.
Internationalization & Accessibility
Directus allows you to manage multilingual content in as many languages as your project needs. And no matter which languages your organization requires internally, our Admin App supports a growing number of locales. We've also paid close attention to our Admin App's interface to ensure it is as clear and accessible as possible for all users.
- Project — A database (and its asset storage)
- Collection — A database table
- Field — A database column
- Item — A database record
- Interface — Modular components for viewing/managing field data
- Layout — Modular components for viewing/managing a collection of items
- What is Directus?
- Installing Directus
- Extending Directus
- App User Guide
- API Reference
🤲 Help & Resources
- Community Support — For help with open-source instances please post questions with the
directustag on Stack Overflow or chat with members of our Slack Community.
- Premium Support — Directus Cloud customers, GitHub Sponsors, and those paying for hourly support all have access to our Live support over our Live Chat or Email.
- Slack — Come join over 1,600 members discussing the future of Directus. Our helpful members are also quick to offer advice for simple questions you may have while getting started.
- Twitter — Follow us on Twitter to be the first to hear about product updates, see sneak peeks of new features, and vote on polls regarding the future of our platform.
- Reporting Bugs — If you believe you've found a bug in the Directus Core codebase, please submit new tickets to either the App or the API. For all security related issues, please chat with us directly through directus.io.
- Requesting Features — Feature requests are managed as GitHub issues within the appropriate Directus repository. Before making a new submission, first browse existing feature requests using the
enhancementlabel. If you find a similar request, simply vote for it using the
👍or 👎reactions and add any additional context in the comments. If not, add a new feature request by completing the provided template.
We have an online demo available so you can easily check out Directus in action. The entire server resets each hour, so if things look funky or the credentials below aren't working... just wait a bit and try again.
- Demo: https://demo.directus.io
❤️ Supporting Directus
Directus is a GPLv3-licensed open source project with development made possible by support from our core team, contributors, and sponsors. It's not easy building premium open-source software; if you would like to help ensure Directus stays free, please consider becoming a sponsor.
We love pull-requests! To work on Directus you'll need to install it locally from source by following the instructions below. Submit all pull-requests to the
master branch of our
Rijk van Zanten