Open-source Herd-like local PHP development environment for Linux and macOS. Podman-native, rootless, with a built-in Web UI.
Lerd runs Nginx, PHP-FPM, and your services as rootless Podman containers,
designed for PHP developers on Linux and macOS.
No Docker. No sudo. No system pollution. Just lerd link and your project
is live at project.test with HTTPS.
If you're a PHP developer on Linux and want frictionless local development — automatic .test domains, per-project PHP versions, one-click HTTPS, zero Docker — Lerd is built for you. Works with Laravel, Symfony, WordPress, Drupal, CakePHP, Statamic, and any custom PHP framework.
- 🌐 Automatic
.testdomains with one-command TLS - 🐘 Per-project PHP version (8.1–8.5), switch with one click
- 📦 Node.js isolation per project (Node 22, 24)
- 🖥️ Built-in Web UI - 3-pane dashboard to manage sites, services, and logs from a browser
- 🗄️ One-click services: MySQL, PostgreSQL, Redis, Meilisearch, RustFS, Mailpit, Stripe Mock, Reverb and more
- 📋 Live logs for PHP-FPM, Queue, Schedule, Reverb, per site
- 🔒 Rootless & daemonless - Podman-native, no Docker required
- 🤖 MCP server - let AI assistants (Claude Code, Windsurf, Junie) manage your environment directly
- 🧩 Framework store - community definitions for Laravel, Symfony, WordPress, Drupal, CakePHP, Statamic with versioned auto-detection
- ⚡ Framework-agnostic workers, env setup, and nginx proxy — driven by YAML definitions, not hardcoded
Lerd ships a built-in Model Context Protocol server. Connect it to Claude Code, Windsurf, JetBrains Junie, or any MCP-compatible AI assistant and manage your dev environment without leaving the chat.
lerd mcp:enable-global # register once, works in every projectThen just ask:
You: set up the project I just cloned
AI: → site_link()
→ env_setup() # detects MySQL + Redis, starts them, creates DB, generates APP_KEY
→ composer install
→ artisan migrate --seed
✓ myapp → https://myapp.test ready
60+ tools available: run migrations, manage services, toggle workers, tail logs, enable Xdebug, manage databases, manage PHP extensions, park directories, and more, all from your AI assistant.
| Lerd | DDEV | Lando | Laravel Herd | |
|---|---|---|---|---|
| Podman-native | ✅ | ❌ | ❌ | ❌ |
| Rootless | ✅ | ❌ | ❌ | ✅ |
| Web UI | ✅ | ❌ | ❌ | ✅ |
| Linux | ✅ | ✅ | ✅ | ❌ |
| macOS | ✅ | ✅ | ✅ | ✅ |
| MCP server | ✅ | ❌ | ❌ | ❌ |
| Free & open source | ✅ | ✅ | ✅ | ❌ |
curl -fsSL https://raw.githubusercontent.com/geodro/lerd/main/install.sh | bashUpdate later with:
lerd updateInstall via Homebrew:
brew install geodro/lerd/lerd
lerd installUpdate later with:
brew upgrade lerd
lerd installNote
See the installation docs for details.
cd my-laravel-project
lerd link
# → https://my-laravel-project.testlerd install already starts everything for you on first run, so you can lerd link immediately. Day-to-day:
lerd start # boot DNS, nginx, PHP-FPM, services, workers, UI
lerd stop # stop containers and workers (UI and watcher stay up)
lerd quit # full shutdown including UI, watcher, and tray
lerd autostart enable # boot lerd on every login
lerd status # health snapshotSee Start, Stop & Autostart for the full lifecycle reference.
Install community framework definitions from geodro/lerd-frameworks:
lerd framework search # list all available
lerd framework install symfony # auto-detects version from composer.lock
lerd framework install drupal@11 # explicit version
lerd framework list --check # compare local vs storeFrameworks auto-detect when you lerd link a project. Workers, env setup, nginx proxy, and setup commands are all driven by the framework definition — no hardcoded behavior.
MIT
