A Project is a complete instance of Directus, including its Database, config file, asset storage, and any custom extensions. Learn more about Projects.
# Creating a Project
To install Directus, choose one of the following methods.
# Configuring a Project
All project configuration is handled by the
.env file within the
/api directory. This file accepts a number of
environment variables, each is explained in the following reference:
# Adjusting Project Settings
- Navigate to Settings > Project Settings
- Configure any of the following branding fields
- Project Name — The name used at the top of the Navigation Bar and on the login/public pages
- Project URL — The URL when clicking the logo at the top of the Module Bar
- Project Color — The color used behind the logo at the top of the Module Bar, on the login/public pages, and for the browser's FavIcon
- Project Logo — A 40x40 pixel logo at the top of the Module Bar and on the login/public pages. The image is inset within the 64x64 pixel square filled with the Project Color, so we recommend using a SVG or PNG logo with transparency to avoid a "boxy" look.
Browser FavIcon & Title
The Project Color is also used to set a dynamic favicon, and the Project Name is used in the browser's page title. This makes it easier to identify different Directus projects in the browser.
# Public Pages
In addition to the above global Project Settings, you can also apply the following styling to tailor your project's public pages.
- Public Foreground — An image centered in the public page's right-pane. Limited to a maximum width of 400px.
- Public Background — An image displayed behind the above foreground image, shown full-bleed within the public page's right-pane. When a Public Background image is not set, the Project Color is used instead.
- Public Note — A helpful note displayed at the bottom of the public page's right-pane; supports markdown for rich-text formatting
- Auth Password Policy — Allows setting a policy requirement for all user's passwords, with the following options:
- None — Not recommended
- Weak — Minimum of 8 characters
- Strong — Uppercase, lowercase, numbers, and special characters
- Auth Login Attempts — Sets the number of failed login attempts allowed before a user's account is locked. Once locked, an Admin user is required to unlock the account.
# Files & Thumbnails
# App Overrides
# Upgrading / Updating a Project
- Backup your project
npx directus database migrate:latestto update the DB
# Backing-up a Project
- Make a copy of the files within each storage adapter, and store them in a safe place
- Make a copy of the Env file (
/api/.env), and store it in a safe place
- Create a database dump
# Migrating a Project
Directus doesn't rely on anything besides the database for it's operation. Therefore, migrating your Directus project can be done by moving the whole database to a new location using a database dump.
If you have files uploaded, make sure to copy those over as well, or use the same storage location in the new location of Directus.
# Downgrading a Project
Directus can be reverted to an earlier version by going to your terminal, navigating into your project folder and
npm install directus@<version>.
If you ran any database migrations for a newer version, you can revert those by running
npx directus database migrate:down
# Deleting a Project
- Optional: Backup any local files stored within the project's root directory
- Optional: Backup any custom code and extensions within the project's root directory
- Optional: Backup your entire database, only system tables, or only project tables
- Delete the project's root directory from the server
- Delete all Directus system tables (
directus_*) from the database
After completing this process, you will be left with a pure SQL database, with no trace that Directus was ever installed. Any external services connecting to your database's project tables directly (eg: SQL queries) should continue working normally.