Repository navigation
v1.37.1
Lerd 1.37.1
Lerd gives every PHP project on your machine what it would have on a server:
its own .test domain over HTTPS, its own PHP version, its own databases,
cache and mail catcher. Nginx, PHP-FPM and every service run as rootless
Podman containers, so nothing is installed system-wide and nothing keeps
running once you stop it. There is a dashboard, a terminal UI, a CLI and an
MCP server over the same environment.
Install
One line on Linux and macOS alike:
curl -fsSL https://lerd.sh/install.sh | bashIt installs what is missing, puts the binary in ~/.local/bin, and runs
lerd install to set the environment up. Setup asks for sudo once, at the
start, and nothing after that.
Already installed:
lerd updateAlso available through apt (PPA), dnf (COPR), a NixOS flake, and Homebrew
(brew install lerd-env/lerd/lerd && lerd install, then brew upgrade lerd
to update), see the
installation docs.
Changelog
Bug Fixes
- f26cd58 fix(ui): keep the worktree tab's shadow from being cut off
- 25143ff fix: answer a command's running checks from one podman ps on macOS
- eb6d696 fix: clear a custom container worker's url file on stop
- faf67b5 fix: clear a stopped dev server's hot file and make its 502 readable
- 9500f16 fix: clear delivered popups and the app badge when the dashboard is in front
- 629b6a4 fix: clear the url file when a worker is stopped by site name alone
- 1e436ab fix: give phpMyAdmin its servers back after an idle wake
- 86c029b fix: keep a missing provided env out of error_get_last()
- f754d40 fix: keep each site's remembered Node version apart
- e97415e fix: keep the hot file cleanup inside the checkout and on every stop path
- c8690bf fix: leave services and workers asleep for php -v and other info flags
- 387e7bd fix: note a fresh run's id before its readiness probe, and document the check
- dd317e0 fix: post no page popup until the notification sink is known
- bb28133 fix: probe a running service's readiness once per run, not on every command
- 237a35b fix: refresh admin UIs after a wake under the idle service lock
- 8e6f482 fix: retire popups on a dashboard that opens in front, and the page's own fallbacks
- bce9c9d fix: run one admin UI refresh at a time after wakes, and document it
- f672f21 fix: run the site's Node inside the PHP container, not Alpine's
- 57adfef fix: treat --ri=json as an info flag too
- 47fed38 fix: use the Node build lerd shell fetched, from a folder the container sees
Other
- 725ce6c chore: shorten the musl Node lookup comments
- abaf48a chore: shorten the refreshAdminUIs comment
- d337165 chore: split the popup retirement comment
- d4d31af release: v1.37.1
Full Changelog: v1.37.0...v1.37.1