Overview
Cashify uses environment variables to configure various aspects of the application. All configuration is managed through a.env file in the root directory of your Laravel installation.
Core Application Settings
The name of your application. This value is used when the framework needs to display the application name in notifications or UI elements.
The environment your application is running in. Common values are
local, staging, or production.A 32-character encryption key used by Laravel’s encryption services. Generate this using
php artisan key:generate.Enable detailed error messages with stack traces. Should be
false in production.The default timezone for your application, used by PHP date and date-time functions.
The URL of your application. Used by the console to generate URLs in Artisan commands.
Localization Settings
The default locale for the application. Cashify supports
en (English) and bg (Bulgarian).The fallback locale used when the current locale is not available.
The locale used by Faker for generating fake data in tests and seeders.
Security & Encryption
The number of hashing rounds for bcrypt password encryption. Higher values increase security but require more processing time.
Database Configuration
The database driver to use. Cashify defaults to SQLite but supports MySQL, PostgreSQL, and more.
MySQL/MariaDB Configuration
When using MySQL or MariaDB, uncomment and configure these variables:The database server hostname.
The database server port.
The name of your database.
The database username.
The database password.
Session Configuration
Where session data should be stored. Options include
file, cookie, database, memcached, redis, or array.The number of minutes that sessions should remain valid.
Whether session data should be encrypted.
The session cookie path.
The session cookie domain.
Cache & Queue
The default cache driver. Options include
apc, array, database, file, memcached, redis, or dynamodb.A prefix for cache keys to avoid collisions.
The queue driver for background jobs. Options include
sync, database, beanstalkd, sqs, or redis.Redis Configuration
The Redis client to use (
phpredis or predis).The Redis server hostname.
The Redis server password.
The Redis server port.
Mail Configuration
The mail driver to use. Cashify uses Mailtrap by default. Options include
smtp, sendmail, mailgun, ses, postmark, log, or array.Mailtrap Configuration
The Mailtrap API host.
Your Mailtrap API key for sending emails.
SMTP Configuration
When using SMTP instead of Mailtrap:The SMTP server hostname.
The SMTP server port.
The SMTP username.
The SMTP password.
The SMTP encryption method (
tls or ssl).Mail Identity
The default “from” email address for outgoing emails.
The default “from” name for outgoing emails.
OAuth & Third-Party Services
GitHub OAuth
Your GitHub OAuth application’s client ID.
Register a GitHub OAuth app at GitHub Developer Settings to obtain credentials.
Your GitHub OAuth application’s client secret.
The callback URL for GitHub OAuth authentication.
Google OAuth (Optional)
Your Google OAuth application’s client ID (if using Google login).
Your Google OAuth application’s client secret.
The callback URL for Google OAuth authentication.
Cloudflare Turnstile
Cashify uses Cloudflare Turnstile for CAPTCHA protection on registration:Your Cloudflare Turnstile site key.
Your Cloudflare Turnstile secret key.
Get Turnstile keys from the Cloudflare Dashboard under “Turnstile”.
AWS Configuration (Optional)
Your AWS access key ID (required for S3 storage or SES email).
Your AWS secret access key.
The AWS region to use.
The S3 bucket name for file storage.
Whether to use path-style endpoints for S3.
Storage & Broadcasting
The default filesystem disk for file storage. Options include
local, public, or s3.The broadcast driver for real-time events. Options include
log, pusher, redis, or null.Logging
The default log channel. Options include
stack, single, daily, slack, syslog, or errorlog.The log channels to include in the stack.
The channel for logging deprecation warnings.
The minimum log level to record. Options include
debug, info, notice, warning, error, critical, alert, or emergency.Maintenance Mode
The driver for storing maintenance mode status. Options are
file or cache.The cache store to use when the maintenance driver is set to
cache.Frontend Configuration
The application name exposed to Vite for use in frontend assets.
Example Configuration
Here’s a complete example.env file for a production environment:
.env
Next Steps
Authentication
Configure Laravel Breeze and OAuth providers
Localization
Set up multi-language support