Configuration Methods
Directus supports multiple configuration methods:.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:-
SECRETis set to a cryptographically secure random string (min 32 characters) -
PUBLIC_URLis set to your production domain - Database credentials are secure and not default values
-
NODE_ENV=productionis 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:- Environment variables (highest priority)
- Config file specified by
CONFIG_PATH .envfile in project root- Default values (lowest priority)
Security Best Practices
- Never commit
.envfiles - Add to.gitignore - Use strong secrets - Generate with:
openssl rand -base64 32 - Rotate secrets regularly - Especially after team member changes
- Limit permissions - Use read-only database users where possible
- Enable rate limiting - Protect against brute force attacks
- Configure CORS strictly - Only allow necessary origins
- Use HTTPS everywhere - Never transmit credentials over HTTP
- Keep Directus updated - Apply security patches promptly
Next Steps
- Review Docker deployment for containerized setup
- Configure authentication providers
- Set up monitoring
- Implement backup strategy