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

VariablePurpose
APP_URLCanonical application URL, where used by the application.
APP_NAMEApplication and default sender display name.
APP_EMAILApplication contact/default sender email.
APP_LANGUAGESAvailable language codes, separated with |; the first is the default in the platform setup.
APP_ENVApplication environment, commonly production or development.
APP_SESSION_KEYSession key used by the application; configure a unique secret value.
APP_PANELPlatform-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.