This page documents every environment variable Marketix reads, grouped by concern. Variables marked with a default come from .env.example; the configuration-only keys section covers additional keys that are read exclusively through config/*.php and have no entry in the sample file.
| Variable | Default | Description |
|---|
APP_NAME | Laravel | Application name shown in the UI and emails. |
APP_ENV | local | Runtime environment (local, production, staging). The .env.example default is local; if APP_ENV is unset, the code-level fallback in config/app.php is production. |
APP_KEY | (empty) | 32-byte application encryption key. Generate with php artisan key:generate. |
APP_DEBUG | true | Enable detailed error pages. Set to false in production. |
APP_URL | http://localhost | Full public URL of the app, including scheme. Used to generate absolute URLs. |
APP_DOMAIN | localhost | Primary application hostname (without scheme). Used by routing and as Traefik’s Host() rule in docker-compose.yml. |
APP_LOCALE | en | Default application locale. Supported values: en, de, nl, fr. |
APP_FALLBACK_LOCALE | en | Locale used when a translation key is missing for APP_LOCALE. |
APP_FAKER_LOCALE | en_US | Locale used by Faker when generating seed data. |
APP_MAINTENANCE_DRIVER | file | Driver for maintenance-mode state (file or database). |
BCRYPT_ROUNDS | 12 | Cost factor for Bcrypt password hashing. |
LOG_CHANNEL | stack | Default log channel. |
LOG_STACK | single | Channels included in the stack log channel. |
LOG_DEPRECATIONS_CHANNEL | null | Channel for PHP/framework deprecation notices. |
LOG_LEVEL | debug | Minimum log level (debug, info, warning, error, etc.). |
The DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD variables are commented out in .env.example. The listed default values are the Laravel framework configuration defaults; uncomment these variables in .env when not using SQLite.
| Variable | Default | Description |
|---|
DB_CONNECTION | sqlite | Database driver (sqlite, mysql, pgsql). |
DB_HOST | 127.0.0.1 | Database server hostname. |
DB_PORT | 3306 | Database server port. |
DB_DATABASE | laravel | Database name (or path for SQLite). |
DB_USERNAME | root | Database user. |
DB_PASSWORD | (empty) | Database password. |
| Variable | Default | Description |
|---|
SESSION_DRIVER | database | Session storage driver (database, redis, file, etc.). |
SESSION_LIFETIME | 120 | Session expiry in minutes. |
SESSION_ENCRYPT | false | Encrypt session data at rest. |
SESSION_PATH | / | Cookie path scope. |
SESSION_DOMAIN | null | Cookie domain scope; null means the current hostname. |
CACHE_STORE | database | Default cache store (database, redis, file, etc.). |
MEMCACHED_HOST | 127.0.0.1 | Memcached server hostname. Only used if CACHE_STORE is set to memcached (Laravel scaffolding default; Marketix defaults to database or Redis). |
QUEUE_CONNECTION | database | Default queue connection (database, redis, sync). |
BROADCAST_CONNECTION | log | Default broadcast driver. |
FILESYSTEM_DISK | local | Default filesystem disk (local, s3). |
| Variable | Default | Description |
|---|
REDIS_CLIENT | phpredis | PHP Redis client library (phpredis or predis). |
REDIS_HOST | 127.0.0.1 | Redis server hostname. |
REDIS_PASSWORD | null | Redis server password. Leave null when authentication is disabled. |
REDIS_PORT | 6379 | Redis server port. |
| Variable | Default | Description |
|---|
MAIL_MAILER | log | Mail transport (log, smtp, ses, postmark, resend). |
MAIL_SCHEME | null | SMTP encryption scheme (tls, ssl, or null). |
MAIL_HOST | 127.0.0.1 | SMTP server hostname. |
MAIL_PORT | 2525 | SMTP server port. |
MAIL_USERNAME | null | SMTP authentication username. |
MAIL_PASSWORD | null | SMTP authentication password. |
MAIL_FROM_ADDRESS | hello@example.com | Default sender address. |
MAIL_FROM_NAME | ${APP_NAME} | Default sender display name. |
| Variable | Default | Description |
|---|
AWS_ACCESS_KEY_ID | (empty) | AWS access key ID. Required when FILESYSTEM_DISK=s3. |
AWS_SECRET_ACCESS_KEY | (empty) | AWS secret access key. |
AWS_DEFAULT_REGION | us-east-1 | AWS region for S3 and SES. |
AWS_BUCKET | (empty) | S3 bucket name. |
AWS_USE_PATH_STYLE_ENDPOINT | false | Use path-style S3 URLs (required for MinIO and other S3-compatible stores). |
| Variable | Default | Description |
|---|
OCTANE_SERVER | frankenphp | Octane application server. The .env.example default is frankenphp (the Docker deployment server); the octane.php config file falls back to roadrunner if unset. Set to frankenphp, swoole, or roadrunner to match your environment. |
| Variable | Default | Description |
|---|
VITE_APP_NAME | ${APP_NAME} | Application name exposed to the Vite/JavaScript build. |
These variables are read by docker-compose.yml for service configuration and are only required when using the Docker deployment.
| Variable | Default | Description |
|---|
LETSENCRYPT_EMAIL | (empty) | Email address registered with Let’s Encrypt for TLS certificate notifications. |
MYSQL_ROOT_PASSWORD | (empty) | Root password for the bundled MySQL service. |
TRAEFIK_DYNAMIC_FILE | /traefik/custom-domains.yml | Path (on the shared volume) where the dynamic Traefik file provider config is written. |
TRAEFIK_APP_URL | http://app:8000 | Internal URL Traefik uses to reach the Octane application container. |
These variables are read via config/*.php but are intentionally absent from .env.example. You must add them to your .env file manually when needed.
| Variable | Config file | Description |
|---|
MAXMIND_LICENSE_KEY | config/services.php | Free MaxMind license key used by marketix:geoip:update to download the GeoLite2-City database. Obtain from maxmind.com. Required for geographic click statistics. See Operations. |
PASSKEYS_USER_HANDLE_SECRET | config/passkeys.php | Secret used to derive a stable WebAuthn user handle from each user. Defaults to APP_KEY. Set explicitly if you ever rotate APP_KEY to prevent passkeys from breaking. |