Skip to content

Environment Variables

Complete reference for the variables read from .env (or equivalent container environment). Set these before starting the application; most require a restart to take effect.

See Environment configuration for how to create and populate your .env file.

VariableDefaultDescription
APP_NAMEInventorixApplication name shown in the UI and email subjects.
APP_ENVlocalEnvironment name. Set to production in production.
APP_KEY(empty)32-byte encryption key. Generate with php artisan key:generate. Required.
APP_DEBUGtrueShow detailed error pages. Set to false in production.
APP_URLhttp://localhostCanonical URL. Used for link generation, OAuth callbacks, and queue jobs.
APP_LOCALEdeDefault UI locale.
APP_FALLBACK_LOCALEenLocale used when a translation key is missing.
APP_FAKER_LOCALEen_USLocale for Faker (seeder only).
APP_MAINTENANCE_DRIVERfileDriver for maintenance mode state (file or database).
APP_MAINTENANCE_STOREdatabaseStorage driver for maintenance-mode state (commented out by default in .env.example).
PHP_CLI_SERVER_WORKERS4Worker count for the built-in PHP CLI server (local dev only).
BCRYPT_ROUNDS12Bcrypt cost factor for password hashing.
VariableDefaultDescription
LOG_CHANNELstackPrimary log channel.
LOG_STACKsingleChannels combined when LOG_CHANNEL=stack.
LOG_DEPRECATIONS_CHANNELnullChannel for deprecation warnings.
LOG_LEVELdebugMinimum log level. Set to warning or error in production.
VariableDefaultDescription
DB_CONNECTIONsqliteDatabase driver (sqlite, mysql, pgsql).
DB_HOST127.0.0.1Database host (MySQL/PostgreSQL only).
DB_PORT3306Database port.
DB_DATABASEinventorixDatabase name or path (SQLite: absolute path to .sqlite file).
DB_USERNAMErootDatabase username.
DB_PASSWORD(empty)Database password.
VariableDefaultDescription
SESSION_DRIVERdatabaseSession storage backend (database, redis, file, cookie).
SESSION_LIFETIME120Session lifetime in minutes.
SESSION_ENCRYPTfalseEncrypt session payload at rest. Set to true in production.
SESSION_PATH/Cookie path.
SESSION_DOMAINnullCookie domain. Set to your hostname in production.
VariableDefaultDescription
CACHE_STOREdatabaseDefault cache store (database, redis, file, array, memcached).
CACHE_PREFIX(empty)Optional prefix for cache keys (useful when sharing a Redis instance).
MEMCACHED_HOST127.0.0.1Memcached server hostname (applies when CACHE_STORE=memcached).
VariableDefaultDescription
QUEUE_CONNECTIONdatabaseDefault queue driver (database, redis, sync).
VariableDefaultDescription
BROADCAST_CONNECTIONlogBroadcast driver. log disables real-time broadcasting.
VariableDefaultDescription
FILESYSTEM_DISKlocalDefault disk for file uploads (local or s3).
VariableDefaultDescription
REDIS_CLIENTphpredisPHP Redis client (phpredis or predis).
REDIS_HOST127.0.0.1Redis server hostname.
REDIS_PASSWORDnullRedis authentication password.
REDIS_PORT6379Redis server port.
VariableDefaultDescription
MAIL_MAILERlogMail driver (smtp, log, postmark, resend, postal, ses). log discards all mail to the log.
MAIL_SCHEMEnullSMTP transport scheme (smtp or smtps).
MAIL_HOST127.0.0.1SMTP server hostname.
MAIL_PORT2525SMTP server port.
MAIL_USERNAMEnullSMTP authentication username.
MAIL_PASSWORDnullSMTP authentication password.
MAIL_FROM_ADDRESShello@example.comDefault sender address.
MAIL_FROM_NAME${APP_NAME}Default sender display name.
VariableDefaultDescription
AWS_ACCESS_KEY_ID(empty)AWS (or S3-compatible) access key ID.
AWS_SECRET_ACCESS_KEY(empty)AWS (or S3-compatible) secret access key.
AWS_DEFAULT_REGIONus-east-1AWS region.
AWS_BUCKET(empty)S3 bucket name.
AWS_USE_PATH_STYLE_ENDPOINTfalseUse path-style S3 URLs (required for MinIO and some S3-compatible services).

See Storage configuration.

VariableDefaultDescription
MS_LOGIN_ENABLEDfalseShow the “Login via Entra ID” button on the login page.
MS_CLIENT_ID(empty)Microsoft Entra application (client) ID.
MS_CLIENT_SECRET(empty)Microsoft Entra client secret.
MS_TENANT_ID(empty)Microsoft Entra tenant (directory) ID.
MS_REDIRECT_URI${APP_URL}/auth/microsoft/callbackOAuth redirect URI. Must match the URI registered in Entra.

See Authentication configuration.

Inventorix uses Laravel Octane in the Docker image. Octane configuration lives in config/octane.php; no custom env variables are required beyond the standard APP_* keys. The server is started with php artisan octane:start.

VariableDefaultDescription
VITE_APP_NAME${APP_NAME}App name exposed to the Vite frontend build.
RUN_MIGRATIONStrueWhen true, runs php artisan migrate --force automatically on container start. Set to false for multi-replica deployments; run migrations as a one-shot init container instead.

Configuration-only keys (not in .env.example)

Section titled “Configuration-only keys (not in .env.example)”

These variables are read by a config file but are not present in .env.example. They are typically set through the admin Settings UI at runtime (values are persisted to the database), or may be supplied as environment variables if you prefer.

Multi-factor authentication (config/auth.php)

Section titled “Multi-factor authentication (config/auth.php)”
VariableDefaultDescription
AUTH_MULTIFACTOR_AUTH_ENABLEDtrueAllow users to enrol in TOTP-based MFA.
AUTH_MULTIFACTOR_AUTH_FORCEfalseForce MFA enrolment for all users.
AUTH_MULTIFACTOR_AUTH_RECOVERABLEfalseAllow MFA recovery codes.

See Authentication configuration.

Transactional mail providers (config/services.php)

Section titled “Transactional mail providers (config/services.php)”
VariableDefaultDescription
POSTMARK_API_KEY(empty)API key for Postmark (used when MAIL_MAILER=postmark).
RESEND_API_KEY(empty)API key for Resend (used when MAIL_MAILER=resend).

See Mail configuration.

VariableDefaultDescription
HANDOVER_DISKlocalStorage disk for handover signature uploads.
APP_COMPANY_NAME${APP_NAME}Company name printed on handover PDFs.
APP_COMPANY_LOGO(empty)URL or path to the company logo used on handover PDFs.

See Application configuration.