# Projects

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

  1. Navigate to Settings > Project Settings
  2. 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

# Security

  • 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

See Creating a Thumbnail Preset

# App Overrides

See Styles > Custom CSS

# Modules

  • Module Bar — Allows the customisation of links displayed in the module bar:
    • Module Visibility — Show or hide modules by toggling the checkbox.
    • Link Reordering — Reorder links by dragging on the sort handle.
    • Link Creation — URLs should start with a / for links within the Directus App.

# Upgrading / Updating a Project

  1. Backup your project
  2. Run npm update
  3. Run npx directus database migrate:latest to update the DB

# Backing-up a Project

  1. Make a copy of the files within each storage adapter, and store them in a safe place
  2. Make a copy of the Env file (/api/.env), and store it in a safe place
  3. 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.

File Storage

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 running 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

  1. Optional: Backup any local files stored within the project's root directory
  2. Optional: Backup any custom code and extensions within the project's root directory
  3. Optional: Backup your entire database, only system tables, or only project tables
  4. Delete the project's root directory from the server
  5. Delete all Directus system tables (directus_*) from the database

Pure SQL

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.