# Environment and .env

Source: https://laraport.app/docs/environment/

> See the variables a Laravel app really runs with, check them against .env.example, compare containers and edit .env with a diff before saving.

**Environment** on the Laravel tab shows the variables the app actually runs with: its `.env`, with the container's environment on top, as Laravel reads them. Each variable says where it comes from.

Many deployments, Dokploy and Coolify among them, pass everything through the container environment and have no `.env` at all. The screen says so instead of failing.

## Checks against .env.example

When the app has a `.env.example`, the variables are checked against it. Missing, empty and extra keys come first.

## Comparing containers

`o` picks another running container of the server and compares the two: values that differ, and keys only one side has. Useful for a web container and its worker, which should agree. `O` goes back to the `.env.example` check.

## Secrets

Values of keys that look secret (passwords, keys, tokens, DSNs, URLs) are masked, with their length shown: `•••••• (32)`. `v` shows them.

## Editing .env

`e` opens the `.env` in the editor.

- `ctrl+s` shows a diff of your changes and saves only after you confirm.
- The file is written only if it is still what you opened, so changes made by someone else in the meantime are never overwritten.
- The previous version is kept in `/tmp/laraport/backups` in the container.
- The file keeps its owner and mode.

Values set in the container environment win over `.env`, and a redeploy may rewrite the file. If the app caches its config, run `artisan config:cache` afterwards; the editor reminds you.
