Dotvault for Laravel

A proper .env editor for Laravel apps.

Laravel projects live and die by their .env file. Database credentials, mail drivers, queue connections and a dozen third-party API keys all plug in through the same file, and it is the one file you cannot commit. Dotvault gives you a visual editor that knows Laravel's conventions, reads your composer.json to work out which packages you have pulled in, and tells you when something looks off.

What you get

  • Flags a missing APP_KEY before your app does, and knows the rest of the core set: APP_ENV, APP_URL, the database block, the queue and mail drivers.
  • Keeps .env.example in step. When you add a key, Dotvault offers to sync it across, keys only or keys and values, one key at a time if you like.
  • Snapshot history on every save, so the value you had before the deploy is still there. Encrypted on disk, and never sent anywhere.
  • Automatic detection from composer.json: Laravel, Cashier, Sanctum, Scout, Nova, Horizon, Telescope, Reverb and more, each with the variables it expects.
  • Warnings for the classics: an APP_URL that is not a URL, an APP_DEBUG holding something that is not true or false, a secret-shaped value sitting in a git-tracked file.
  • Warns when a VITE_ value can only be a secret. Laravel compiles those into the front-end bundle, so a secret key there is readable by anyone who loads the page, gitignored file or not.
  • Works alongside Laravel Vapor, Forge, and plain VPS deployments. No vendor lock-in.
  • Opens Laravel encrypted env files natively (AES-256-CBC and AES-128-CBC, Standard and Readable formats). Unlock once and edit in place, with no decrypt and re-encrypt cycle.
  • Encryption keys are scoped to the file path and stored via safeStorage, protected by your macOS Keychain. They survive file renames and repo re-adds.

Known environment variables

Dotvault recognises these variables when you open a Laravel project and surfaces helpful descriptions and warnings in the editor. Laravel is detected via laravel/framework in composer.json.

  • APP_NAME

    Application name

  • APP_ENV

    Application environment (local/production)

  • APP_KEYRequired

    Application encryption key

  • APP_DEBUG

    Debug mode toggle

  • APP_URL

    Application base URL

  • APP_TIMEZONE

    Application timezone

  • APP_LOCALE

    Application locale

  • APP_FALLBACK_LOCALE

    Fallback locale when translation is missing

  • APP_FAKER_LOCALE

    Faker locale for database seeding

  • APP_MAINTENANCE_DRIVER

    Maintenance mode driver (file/cache)

  • APP_MAINTENANCE_STORE

    Cache store for maintenance mode

  • BCRYPT_ROUNDS

    Bcrypt hashing rounds

  • LOG_CHANNEL

    Logging channel (stack/single/daily)

  • LOG_STACK

    Channels for the stack log driver

  • LOG_DEPRECATIONS_CHANNEL

    Channel for deprecation warnings

  • LOG_LEVEL

    Minimum log level

  • PAPERTRAIL_URL

    Papertrail log destination URL

  • PAPERTRAIL_PORT

    Papertrail log destination port

  • DB_CONNECTION

    Database driver (mysql/pgsql/sqlite)

  • DB_HOST

    Database host

  • DB_PORT

    Database port

  • DB_DATABASE

    Database name

  • DB_USERNAME

    Database username

  • DB_PASSWORD

    Database password

  • DB_COLLATION

    Database collation

  • CACHE_STORE

    Cache driver (file/redis/memcached)

  • CACHE_PREFIX

    Cache key prefix

  • MEMCACHED_HOST

    Memcached host

  • SESSION_DRIVER

    Session driver (file/cookie/database/redis)

  • SESSION_LIFETIME

    Session lifetime in minutes

  • SESSION_ENCRYPT

    Encrypt session data

  • SESSION_PATH

    Session cookie path

  • SESSION_DOMAIN

    Session cookie domain

  • SESSION_SECURE_COOKIE

    HTTPS-only session cookies

  • SESSION_COOKIE

    Session cookie name

  • SESSION_CONNECTION

    Database connection for session driver

  • SESSION_STORE

    Cache store for session driver

  • QUEUE_CONNECTION

    Queue driver (sync/database/redis/sqs)

  • SQS_PREFIX

    Amazon SQS queue URL prefix

  • MAIL_MAILER

    Mail driver (smtp/mailgun/ses)

  • MAIL_SCHEME

    Mail transport scheme (smtp/smtps)

  • MAIL_HOST

    SMTP host

  • MAIL_PORT

    SMTP port

  • MAIL_USERNAME

    SMTP username

  • MAIL_PASSWORD

    SMTP password

  • MAIL_ENCRYPTION

    SMTP encryption (tls/ssl)

  • MAIL_FROM_ADDRESS

    Default from address

  • MAIL_FROM_NAME

    Default from name

  • MAIL_EHLO_DOMAIN

    SMTP EHLO domain

  • REDIS_CLIENT

    Redis client (phpredis/predis)

  • REDIS_HOST

    Redis host

  • REDIS_PASSWORD

    Redis password

  • REDIS_PORT

    Redis port

  • REDIS_URL

    Redis connection URL

  • BROADCAST_CONNECTION

    Broadcast driver

  • BROADCAST_DRIVER

    Broadcast driver (legacy, pre-Laravel 11)

  • FILESYSTEM_DISK

    Default filesystem disk

  • AWS_ACCESS_KEY_ID

    AWS access key (for S3/SES/SQS)

  • AWS_SECRET_ACCESS_KEY

    AWS secret key

  • AWS_DEFAULT_REGION

    AWS region

  • AWS_BUCKET

    S3 bucket name

  • AWS_ENDPOINT

    Custom AWS endpoint URL

  • AWS_USE_PATH_STYLE_ENDPOINT

    Use path-style S3 endpoints

  • AWS_URL

    Custom URL for S3 assets

  • PUSHER_APP_ID

    Pusher app ID

  • PUSHER_APP_KEY

    Pusher app key

  • PUSHER_APP_SECRET

    Pusher app secret

  • PUSHER_APP_CLUSTER

    Pusher cluster

  • PUSHER_HOST

    Pusher host (for self-hosted)

  • PUSHER_PORT

    Pusher port

  • PUSHER_SCHEME

    Pusher scheme (http/https)

  • VITE_APP_NAME

    Client-exposed variable (Vite/Laravel)

Official Laravel docs: laravel.com/docs