* 1. Create generatePasswordHash util function to standardize how user
passwords are hashed throughout the API instead of directly calling
argon2.hash directly;
2. Add configuration parameters to modify the behavior of the argon2.hash
function used for generating user password hashes;
3. Add docs and placeholders in api/example.env for new parameters;
4. Update argon2 to latest release.
* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.
* docs: sdk auth.password.request url argument (#7757)
* Show a warning if PostGIS is missing (#7759)
* Show a warning if PostGIS is missing
* Remove sqlite-extensions flag
* Remove unused import
* Update WYSIWYG styling
* translations: fix user.status_invited (#7760)
* New Crowdin updates (#7739)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Czech)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Russian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Czech)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* Fix postgis check
* Fix branch emitter logic from grand-to-child (#7763)
* New Crowdin updates (#7762)
* New translations en-US.yaml (Russian)
* New translations en-US.yaml (Slovenian)
* New translations en-US.yaml (Chinese Simplified)
* New translations en-US.yaml (French)
* New translations en-US.yaml (Arabic)
* New translations en-US.yaml (Catalan)
* New translations en-US.yaml (German)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (German)
* New translations en-US.yaml (Hungarian)
* Fix tree-select not allowing groups to be opened in selection mode
* Optimize tree-select open state
* Warn the user when a collapsed group field had an error (#7738)
* warn the user when a collapsed group field had an error
* Replace icon
* Reduce icon size
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* New translations en-US.yaml (Hungarian) (#7764)
* fix WYSIWYG field focus event (#7756)
* Update vue monorepo to v3.2.7 (#7766)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Fix hash link in docs module (#7768)
* Update dependency knex-schema-inspector to v1.6.0 (#7769)
* Use OpenMapTiles font instead of ArcGIS (#7780)
* tiny rewrite in docs/reference/filter-rules (#7771)
* Update dependency sass to v1.39.0 (#7770)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Expose logger through ExtensionContext (#7777)
Fixes #7737.
* Fixes bug when trying to edit geometry in code interface. (#7778)
* Update vue monorepo to v3.2.8 (#7785)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Update dependency npm to v7.22.0 (#7786)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Improve card selection styling (#7787)
* Add environment variable to force-exclude tables from Directus (#7789)
* New Crowdin updates (#7765)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Hungarian)
* New translations en-US.yaml (Polish)
* v9.0.0-rc.92
* Update changelog.md
* Update logging in CLI commands (#7676)
* Replace console logs with logger in CLI commands
* Fix double sparkles in migration command
* Apply suggestions from code review
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Use stdout for init command output
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Fix WYSIWYG field not being cleared after "Save and Create New" (#7754)
* fix WYSIWYG field not being cleared
* return empty string when null for tinymce
* Update app/src/components/v-form/form-field.vue
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* fix wrong icon (#7800)
* fix false is proper value (#7796)
* Fix incorrect database exclude tables environment variable in docs. (#7798)
* Datetime interface "Set to now" sets seconds to 0 (#7794)
When "Include seconds" is disabled.
Fixes #7779
* Use https for openmaptiles fonts. (#7801)
* fix type for deep query with underscore prefix (#7815)
* Map selection behaviour (#7811)
* Use https for openmaptiles fonts.
* Changed map selection behaviour: replace instead of adding them by default.
* Fix map interface controls not showing (#7812)
* Fix return error for GraphQL mutations (#7814)
* Apply "in" to query even if array is empty (#7816)
* fetch only avatar id for current user
* apply "in" to query even if array is empty
if the "in" array is empty we need to add it to query anyways,
otherwise all records will be attached causing out of memory on
subsequent calls
* Update dependency pinia to v2.0.0-rc.7 (#7817)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Update modules.md (#7795)
* make csv imports try to parse values to json (#7820)
* fix minor typo in api-hooks.md (#7821)
* Update dependency knex to v0.95.11 (#7819)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.
* 1. Create generatePasswordHash util function to standardize how user
passwords are hashed throughout the API instead of directly calling
argon2.hash directly;
2. Add configuration parameters to modify the behavior of the argon2.hash
function used for generating user password hashes;
3. Add docs and placeholders in api/example.env for new parameters;
4. Update argon2 to latest release.
* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.
* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.
* Preserve old behavior of hash function in PayloadService, in case 'value' is not a String.
* Tweak docs
Co-authored-by: José Varela <joselcvarela@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Ben Haynes <ben@directus.io>
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: mikhail sergienko <mikhail.sergienko@gmail.com>
Co-authored-by: Dieter Luypaert <dieterluypaert@gmail.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Sam Milledge <sam@sammilledge.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Harun Kilic <harunkilic@live.dk>
🐰 Introduction
Directus is a real-time API and App dashboard for managing SQL database content.
- Free & open-source. No artificial limitations, vendor lock-in, or hidden pricing.
- REST & GraphQL API. Instantly adds a blazingly fast Node.js API layer to your database.
- Manage pure SQL. Works with existing SQL databases, or helps build new architectures from scratch.
- Choose your database. Supports PostgreSQL, MySQL, SQLite, OracleDB, MariaDB and MS-SQL.
- Allows self-hosting. Choose your hosting and infrastructure, run locally, or deeply integrate on-premises.
- Completely extensible. Built to white-label, it is easy to customize our modular platform.
- A modern dashboard. A Vue.js Admin App so safe and intuitive, non-technical users require no training.
Learn more about Directus on our website.
🚧 Release Candidate
This is pre-release software. While we're providing migrations between versions, changes may occur at any time, and certain features might be missing or broken. You can follow along with the issue tracker for an in-depth list of upcoming enhancements.
⚙️ Installation
Create a new Directus project by running the following npm command:
npx create-directus-project my-project
Or, using yarn:
yarn create directus-project my-project
Simply follow the setup prompts and the CLI will create your new project directory (eg: my-project), configuration
file, and initial database. To get the most out of Directus, and to ensure you have the latest security patches, it is
important to keep your projects up-to-date.
🚀 One-Click Deployments
If you would like to completely avoid the manual installation process, the following self-hosted one-click apps will handle the heavy-lifting for you. While Directus is always completely free, you will likely need to pay for these services.
| DigitalOcean | Heroku | Platform.sh | Zeet |
|---|---|---|---|
📌 Requirements
Directus only requires Node.js and supports most operating systems and SQL database vendors.
- Node.js 12.20+
- npm 6.x+
Supported Databases
- PostgreSQL 10+
- MySQL 5.7.8+ (8.* with mysql_native_password here)
- MariaDB 10.2+
- SQLite 3+
- MS-SQL X.X+
- OracleDB X.X+
Supported OS
- Ubuntu 18.04
- CentOS / RHEL 8
- macOS Catalina or newer
- Windows 10
- Docker (DockerHub + Dockerfile)
Other operating systems may also work, but are not officially supported.
🤔 Community Help
In addition to the Directus Documentation, you can also request help via the following channels:
- Discord (Live Discussions)
- GitHub Issues (Report Bugs)
- GitHub Discussions (Questions, Feature Requests)
- Twitter (Latest News)
- YouTube (Video Tutorials)
❤️ Contributing & Sponsoring
Please read our Contributing Guide before submitting Pull Requests.
All security vulnerabilities should be reported in accordance with our Security Policy.
Directus is a premium open-source (GPLv3) project, made possible with support from our passionate core team, talented contributors, and amazing GitHub Sponsors. Thank you all!
© 2004-2021, Monospace Inc
