Local PHP development for Linux and macOS. Automatic .test domains, per-project PHP, one-command TLS. Rootless Podman, open source.

Joined September 2026
Queue workers, the scheduler, Horizon, Reverb, a Stripe listener and a Vite dev server, multiplied by every project you have open, add up to a lot of CPU and memory for code nobody is using. Lerd's idle-suspend watches each site for activity: web requests, CLI commands, AI tool calls and file saves. After a timeout it suspends that site's workers, and brings them back the moment you load a page or run a command. You keep every project linked and ready, and your laptop stays cool. #Laravel #Horizon
4
17
370
Freelancers and agencies end up with dozens of local sites, and a flat list stops being useful around the twentieth one. lerd groups sites into workspaces. Make one per client or per project, drag sites into it, and the dashboard, the TUI and the CLI all show your sites grouped. Fold the workspaces you aren't working on. Mark a workspace private and streaming mode keeps it off your screen when you share it. #webdev #freelance
2
2
1
34
1,041
Sometimes one site needs one nginx rule the others don't: a larger upload limit, a rewrite, a header, a location block. In lerd each site and each worktree can carry its own nginx override, and you edit it from the address bar in the dashboard, with a proper code editor. lerd reloads nginx when you save, and Reset puts its generated config back if you go too far. The override follows the site through domain renames, and frameworks can ship their own nginx rules in the store.
1
9
364
PHP put out an advisory yesterday: keep session.upload_progress.enabled=0 until the next bugfix release, to close an unlikely RCE path left over from this week's security fixes. In Lerd that's one line in the shared ini, under System > PHP. It applies to every PHP version at once, and it's a real php.ini setting, which matters because the advisory says ini_set() and .user.ini don't count. The versions in the screenshot are already the patched ones, the new builds arrived without a Lerd release.
11
446
Replying to @iDevakk
Native Windows is hard with Podman as the backbone. Next release ships a Windows app that talks to WSL for you, so it works like any other OS: notifications, CLI, dashboard, all there.
1
1
28
git pull is easy. What comes after it is where the afternoon goes: a new package, a changed lockfile, two new migrations. In lerd 1.37, pulling or switching branches from the dashboard first compares the two trees and shows what's coming in: the commits, the files, and the steps the change needs. composer install, your JavaScript install and the framework's migrate command are each ticked when the incoming changes call for them. Before anything runs, lerd snapshots the database, tagged with the branch you're leaving, so a failed migration is one click from undone. Uncommitted work that would be overwritten holds the pull back.
2
10
293
Tinker is the fastest way to poke at a Laravel app, and lerd puts it in the dashboard. The Tinker tab is a PHP REPL with your application booted, on the site's own PHP version. It has a real editor with autocompletion, shows the result of each line next to it, renders queries inline, and goes full screen when you need room. Save the scripts you run often as snippets: lerd reads them from your project, from your home folder, and from .tinkerwell/snippets, so existing Tinkerwell snippets just show up. #Laravel #PHP
10
368
When a page feels slow you usually guess: is it the database, the PHP code, or the server? Now you open the request and see. Every recent request in the dashboard has an Inspect button, and it opens on a summary of what that request cost: the response time nginx measured, the peak memory PHP used, the time split between your app and its queries, and how long it waited in the PHP-FPM queue for a free worker. No package to install and no code to change. Turn on debug capture and every request is ready to inspect.
15
527
Everything about a site on one screen. Services, workers, request timing, the slowest routes, what's running and what isn't. No prompt box, no wizard, no account. Your agent stays in your terminal and reads the same data over MCP. Lerd is free and open source
5
4
60
71,869
Lerd 1.37 is out. The part I'm most happy about: a request now carries one id from nginx to PHP to the browser. Open a recent request and you see everything it ran on a timeline, including what the page itself reported back. Your AI assistant gets the same view over MCP, and it starts with what went wrong. Services sleep when nothing uses them. A request to a sleeping site is held open until things are up, then gets the real response. Nothing ever sees a waking page. The dashboard got a lot lighter, on a busy machine it went from over a gigabyte to under a hundred megabytes, because the debug buffer lives in SQLite now instead of memory. Also in this one: fetch, pull, push and branch switching from the site header, with a database snapshot before you move. Secrets from 1Password, Doppler, Infisical and the rest without touching .env. DNS built into Lerd, no more dnsmasq. And a rebuilt TUI that draws in your terminal's own colours.
6
1
1
46
1,466
Most PHP projects need more than PHP: a database, a cache, a mail catcher, search, object storage. In lerd each of those is a service you add in a click: MySQL, MariaDB, PostgreSQL, Redis, Valkey, Memcached, Meilisearch, Typesense, Elasticsearch, OpenSearch, Mailpit, RustFS, RabbitMQ and more. Each runs as a rootless container, several versions can run side by side, and lerd writes their hosts, ports and credentials into your site's .env. Presets live in a public store, so new services reach every install without waiting for a release. #MySQL #PostgreSQL
4
1
15
529