Environment Configuration (.env)
The documentation is constantly evolving and updated alongside the project's progress. Since it is developed in parallel with the code, some sections may temporarily refer to earlier versions of the system-these are gradually adapted to the current state of the application. If you notice any outdated information, please report it or open an Issue / Pull Request.
Documentation
# Environment Configuration (.env)
The .env file supplies application-specific configuration. Keep it outside the public document root, do not commit production secrets, and use deployment-specific values.
# Common settings
| Variable | Purpose |
|---|---|
APP_URL | Canonical application URL, where used by the application. |
APP_NAME | Application and default sender display name. |
APP_EMAIL | Application contact/default sender email. |
APP_LANGUAGES | Available language codes, separated with |; the first is the default in the platform setup. |
APP_ENV | Application environment, commonly production or development. |
APP_SESSION_KEY | Session key used by the application; configure a unique secret value. |
APP_PANEL | Platform-specific administration path setting. |
# Cache and database
CACHE_ENABLED=true enables template caching in the framework TemplateEngine. Database variables are consumed by the configured application adapter; common values include DB_HOST, DB_NAME, DB_USER, DB_PASSWORD, DB_CHARSET, and DB_PORT. The framework's database environment validator currently requires DB_HOST and DB_USER when validating a database connection. Exact requirements depend on the selected adapter.
# Mail settings
The current mail module reads MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_SECURE, MAIL_FROM_EMAIL, and MAIL_FROM_NAME. See Mail for supported drivers and the difference between framework and platform transports. The older MAIL_SMTP=true|false setting is not the current driver selector.
# Optional integration settings
A platform installation may also use RECAPTCHA_SITE_KEY and RECAPTCHA_SECRET_KEY. These are integration-specific; the core framework does not require them.
# Example
APP_URL=https://example.test
APP_NAME="Example App"
APP_EMAIL=admin@example.test
APP_LANGUAGES=EN|PL
APP_ENV=production
APP_SESSION_KEY=replace-with-a-long-random-value
CACHE_ENABLED=true
DB_HOST=127.0.0.1
DB_NAME=app_db
DB_USER=app_user
DB_PASSWORD=replace-me
DB_CHARSET=utf8mb4
DB_PORT=3306
MAIL_DRIVER=dbm-smtp
MAIL_HOST=smtp.example.test
MAIL_PORT=587
MAIL_USERNAME=mailer@example.test
MAIL_PASSWORD=replace-me
MAIL_SECURE=tls
MAIL_FROM_EMAIL=mailer@example.test
MAIL_FROM_NAME="Example App"
Only define variables used by the selected application and modules. Verify each value against the active configuration/provider because not every platform variable is a framework-wide setting.