Looking to hire Laravel developers? Try LaraJobs

laravel-deploy-checklist maintained by furkankufrevi

Description
An artisan command that verifies your Laravel app is production-ready. Checks debug mode, caches, migrations, environment, security headers, and more.
Last update
2026/03/16 22:45 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

Laravel Deploy Checklist

An artisan command that verifies your Laravel app is production-ready. Checks 14 common misconfiguration issues before you deploy.

Installation

composer require furkankufrevi/laravel-deploy-checklist --dev

The service provider is auto-discovered. To publish the config:

php artisan vendor:publish --tag=deploy-checklist-config

Usage

php artisan deploy:check

Strict mode (warnings = failures):

php artisan deploy:check --strict

Example Output

  Deploy Checklist
  Checking production readiness...

  PASS  Debug Mode: Debug mode is disabled.
  PASS  Environment: APP_ENV is 'production'.
  PASS  App Key: APP_KEY is set.
  WARN  Config Cache: Config is not cached. Run php artisan config:cache.
  WARN  Route Cache: Routes are not cached. Run php artisan route:cache.
  PASS  View Cache: Views are compiled.
  PASS  Event Cache: Events are cached.
  PASS  Migrations: All migrations have been run.
  PASS  App URL: APP_URL is set to 'https://myapp.com'.
  PASS  Log Channel: Log channel is 'daily'.
  FAIL  Mail Config: Mail driver is 'log'. Set a real mailer for production.
  WARN  Queue Driver: Queue driver is 'sync'. Jobs will block HTTP requests.
  PASS  Session Driver: Session driver is 'redis'.
  PASS  HTTPS: HTTPS is configured with secure cookies.

  11 passed  3 warnings  1 failed

  Not ready for deployment.

Checks

Check Level What it verifies
Debug Mode Fail APP_DEBUG must be false
Environment Fail/Warn APP_ENV should be production
App Key Fail APP_KEY must be set
Config Cache Warn php artisan config:cache has been run
Route Cache Warn php artisan route:cache has been run
View Cache Warn php artisan view:cache has been run
Event Cache Warn php artisan event:cache has been run
Migrations Fail No pending migrations
App URL Fail/Warn APP_URL is set and uses HTTPS
Log Channel Warn Log rotation is configured
Mail Config Fail Mail driver isn't log or array
Queue Driver Warn Queue driver isn't sync
Session Driver Fail/Warn Session driver isn't array
HTTPS Warn HTTPS URL and secure cookies

CI Integration

Add to your deployment pipeline:

- run: php artisan deploy:check --strict

Exits with code 1 on failures (or warnings in strict mode).

Configuration

Disable individual checks or enable strict mode globally:

// config/deploy-checklist.php
return [
    'checks' => [
        'debug_mode'         => true,
        'environment'        => true,
        'app_key'            => true,
        'config_cache'       => true,
        'route_cache'        => true,
        'view_cache'         => true,
        'event_cache'        => true,
        'pending_migrations' => true,
        'app_url'            => true,
        'log_channel'        => true,
        'mail_config'        => true,
        'queue_driver'       => true,
        'session_driver'     => true,
        'https_only'         => true,
    ],
    'strict' => false,
];

License

MIT