Overview
Framefox uses a flexible configuration system that combines YAML files with environment variables, allowing you to manage settings across different environments securely.Configuration System
Framefox loads configuration from:- YAML files in the
config/directory - Environment variables referenced in YAML files using
${VAR_NAME}syntax .envfile for local environment variables
Environment Variables
Core Variables
These environment variables control fundamental application behavior:Database Configuration
Using DATABASE_URL
The simplest way to configure the database:Detailed Configuration
Alternatively, configure inconfig/orm.yaml:
Security Configuration
Session Management
Configure inconfig/application.yaml:
Cookie Security
Monitoring and Error Tracking
Sentry Integration
Configure inconfig/debug.yaml:
Logging Configuration
Configure inconfig/debug.yaml:
Mail Configuration
Configure email settings:Background Tasks
Configure task processing:.env File
Create a.env file in your project root:
.env.example
Commit an example file without sensitive data:Configuration Files
Application Configuration
config/application.yaml:
Security Configuration
config/security.yaml:
ORM Configuration
config/orm.yaml:
Debug Configuration
config/debug.yaml:
Accessing Configuration in Code
Using Settings Class
Framefox provides aSettings class to access configuration:
Custom Parameters
Add custom parameters in any YAML file:Environment-Specific Configuration
Development Settings
Production Settings
Loading Specific Environment
Security Best Practices
Never Commit Secrets
Add to.gitignore:
Generate Secure Keys
Use Environment Variables in Production
Don’t use.env files in production. Set environment variables directly:
Validate Configuration
Add validation in your application:Configuration Precedence
Framefox follows this precedence order (highest to lowest):- Environment variables set in the shell
.envfile variables- YAML configuration files with
${VAR}placeholders - Default values in the Settings class
Troubleshooting
Configuration Not Found Error
config/ directory with YAML files.
Environment Variable Not Found
.env file or environment.
Invalid Configuration
- Proper indentation (2 spaces)
- Quoted strings with special characters
- Valid YAML structure
Database Connection Issues
Verify yourDATABASE_URL format:
Next Steps
Production Deployment
Deploy your configured application
Docker Deployment
Use Docker with environment variables