Skip to main content

Environment Variables

The Password Manager API uses environment variables defined in the .env file for configuration. Below are all available configuration options from .env.example.

Application Settings

Core application configuration:
string
default:"Laravel"
The name of your application. This is used in notifications and other user-facing messages.
string
default:"local"
The application environment. Set to production for live deployments, local for development.
string
required
Application encryption key. Generate using php artisan key:generate. Never commit this to version control.
boolean
default:"true"
Enable debug mode. Set to false in production to hide error details from users.
Never set APP_DEBUG=true in production environments as it exposes sensitive information.
string
default:"http://localhost"
The base URL of your application. Update this to match your production domain.

Database Configuration

Database connection settings:
string
default:"mysql"
Database driver. Supported values: mysql, pgsql, sqlite, sqlsrv
string
default:"127.0.0.1"
Database server hostname or IP address
integer
default:"3306"
Database server port (3306 for MySQL, 5432 for PostgreSQL)
string
required
Name of the database to connect to
string
required
Database username
string
Database password. Leave empty if no password is required (not recommended for production)

Logging Configuration

Control application logging behavior:
string
default:"stack"
Logging channel. Available channels: stack, single, daily, slack, syslog, errorlog
string
default:"debug"
Minimum log level to record. Options: debug, info, notice, warning, error, critical, alert, emergency

Cache and Session

Cache and session driver configuration:
string
default:"file"
Cache driver. Options: file, redis, memcached, database, array
string
default:"file"
Session storage driver. Options: file, cookie, database, redis, memcached, array
integer
default:"120"
Session lifetime in minutes
string
default:"sync"
Queue driver. Options: sync, database, redis, sqs, beanstalkd

Redis Configuration

Redis server settings (if using Redis for cache, sessions, or queues):
string
default:"127.0.0.1"
Redis server hostname
string
Redis authentication password. Set to null if no password is configured
integer
default:"6379"
Redis server port

Mail Configuration

Email delivery settings:
string
default:"smtp"
Mail driver. Options: smtp, sendmail, mailgun, ses, postmark, log
string
default:"mailpit"
SMTP server hostname
integer
default:"1025"
SMTP server port
string
Email encryption protocol. Options: tls, ssl, or null for no encryption
string
required
Default sender email address

Broadcasting and Queues

Real-time broadcasting configuration:
string
default:"log"
Broadcasting driver. Options: pusher, redis, log, null
string
default:"local"
Default filesystem disk. Options: local, public, s3

AWS Configuration

Amazon Web Services settings (if using S3 for file storage):
AWS credentials are only required if you’re using S3 for file storage. Leave these empty if using local storage.

Pusher Configuration

Pusher real-time messaging settings:
Pusher configuration is only needed if using Pusher for real-time broadcasting features.

Configuration Files

Beyond environment variables, you can customize the application by editing configuration files in the config/ directory:
  • config/app.php - Application settings, service providers, aliases
  • config/database.php - Database connections and settings
  • config/auth.php - Authentication guards and providers
  • config/sanctum.php - API authentication configuration
  • config/mail.php - Email service configuration
  • config/cache.php - Cache store configuration
  • config/queue.php - Queue driver configuration

Caching Configuration

After modifying configuration files, clear and cache the configuration:
To clear cached configuration:

Production Recommendations

For production deployments, ensure these settings:
Additionally:
  1. Use Redis or Memcached for caching
  2. Configure queue workers for background jobs
  3. Enable HTTPS and set SESSION_SECURE_COOKIE=true
  4. Set appropriate SESSION_LIFETIME values
  5. Configure proper logging with rotation