Skip to main content
Directus is configured through environment variables that control everything from database connections to security settings. This reference covers all available configuration options.

Configuration Methods

Directus supports multiple configuration methods:
By default, Directus looks for .env in the project root. Use CONFIG_PATH to specify a different location:

General Configuration

Server Settings

Logging

Temporary Files

Database Configuration

Connection Settings

Connection Pool

Advanced Database Settings

Security Configuration

Secrets and Keys

Access Tokens

Session Tokens

Password & User Management

IP & Security Headers

Hashing

CORS Configuration

Cache Configuration

Redis Configuration

Rate Limiting

Global Rate Limiting

Registration Rate Limiting

Email Rate Limiting

Storage Configuration

Local Storage

AWS S3

Google Cloud Storage

Azure Blob Storage

Multiple Storage Locations

File Upload Limits

Assets Configuration

Email Configuration

SMTP

Sendmail

AWS SES

Mailgun

Email Templates

Authentication Configuration

Providers

OAuth Configuration

LDAP Configuration

SAML Configuration

Extensions Configuration

GraphQL Configuration

WebSockets Configuration

Flows Configuration

Performance & Limits

Metrics & Monitoring

Admin Account

First-time setup only (automatically removed after bootstrap):

Telemetry

AI & MCP

Production Checklist

Before deploying to production, ensure:
  • SECRET is set to a cryptographically secure random string (min 32 characters)
  • PUBLIC_URL is set to your production domain
  • Database credentials are secure and not default values
  • NODE_ENV=production is set
  • HTTPS is enabled with valid SSL certificate
  • CORS is configured with specific origins (not *)
  • Rate limiting is enabled and configured
  • Caching is enabled with Redis for production
  • Email is configured for password resets
  • Backups are automated and tested
  • Monitoring and logging are configured
  • File storage uses S3-compatible service (not local in production)
  • Admin credentials are changed from defaults
  • Database connection pooling is configured
  • Server has adequate resources (CPU, RAM, disk)

Environment Variable Priority

When multiple configuration sources exist, Directus uses this priority order:
  1. Environment variables (highest priority)
  2. Config file specified by CONFIG_PATH
  3. .env file in project root
  4. Default values (lowest priority)

Security Best Practices

  1. Never commit .env files - Add to .gitignore
  2. Use strong secrets - Generate with: openssl rand -base64 32
  3. Rotate secrets regularly - Especially after team member changes
  4. Limit permissions - Use read-only database users where possible
  5. Enable rate limiting - Protect against brute force attacks
  6. Configure CORS strictly - Only allow necessary origins
  7. Use HTTPS everywhere - Never transmit credentials over HTTP
  8. Keep Directus updated - Apply security patches promptly

Next Steps