Skip to content

Lerd vs Other Tools

Lerd vs Laravel Herd

Laravel Herd is the closest match in spirit: a zero-config shared stack with automatic .test domains, one-click HTTPS, and per-site PHP versions. Lerd is the open-source equivalent for Linux (and macOS), built on rootless Podman instead of native binaries.

LerdLaravel Herd
PlatformsLinux (systemd), macOSmacOS, Windows
LicenseOpen source (MIT)Proprietary, freemium (Herd Pro subscription)
PHP runtimeRootless Podman containersNative binaries on macOS and Windows
PHP versions8.1, 8.2, 8.3, 8.4, 8.5 (shared FPM containers)7.4 through 8.5 (native)
FrankenPHP / OctaneBuilt in: lerd runtime frankenphp [--worker] per site, freeNot built in; Octane runs manually alongside Herd
.test domainsAutomatic via dnsmasq containerAutomatic via native dnsmasq resolver
HTTPSlerd secure + mkcert, trusted system-wideBuilt-in "Secure Site" toggle
Xdebuglerd xdebug:on, tray togglePer-site toggle (Herd Pro)
ServicesBuilt-in and free: MySQL, Postgres, Redis, Meilisearch, RustFS (S3), Mailpit; custom services via YAML presetsSome in the free tier; most advanced services and UIs (database inspector, log viewer, dumps) gated behind Herd Pro
Non-PHP projectsFirst-class via Containerfile.lerd (Node, Python, Go, Rails, ...)Not directly supported, Herd focuses on PHP
Per-project config.lerd.yaml committed to the repo; covers PHP, Node, framework, services, workers, and custom containers; applied by lerd link / lerd initherd.yml committed to the repo; covers name, PHP, TLS, aliases on the free tier; services require Herd Pro; applied by herd init
Queue + scheduler workerslerd worker start queue / schedule as systemd user servicesNot built in; run Horizon or supervisor yourself
DashboardWeb UI at 127.0.0.1:7073, system tray, and an installable PWA at lerd.localhostNative desktop app
AI / MCPBuilt-in MCP server; lerd mcp:enable-global registers it for Claude Code, Cursor, Junie, and WindsurfBuilt-in MCP server for Claude Code, Cursor, Junie, and Windsurf
CostFreeFree tier + paid Pro subscription

Choose Herd when: you work on macOS or Windows, want the performance of native PHP binaries (no container overhead), are already in the Laravel Forge and Envoyer ecosystem, or are happy paying for Pro features.

Choose Lerd when: you work on Linux (Herd has no Linux build), prefer open source, want reproducible project setup checked into git via .lerd.yaml, need first-class non-PHP containers, or want a single tool that covers PHP, Node, Python, and Go behind the same .test routing.

See Laravel Herd for Linux for the command-by-command mapping, what Herd Pro gates that Lerd does not, and a migration walkthrough.


Lerd vs Laragon

Laragon is the Windows counterpart to this idea: a portable, zero-config stack with pretty .test URLs, auto-generated virtual hosts, one-click SSL and bundled databases. It runs on Windows only and a Linux build is not planned, which is why "Laragon for Linux" is a question people keep asking. Lerd is the answer to it, the same shared-stack model built on rootless Podman.

LerdLaragon
PlatformsLinux (systemd), macOS, Windows via WSL2 (beta)Windows only
LicenseOpen source (MIT), free for commercial useProprietary, a licence is required from Laragon 7 onwards
CostFreeFree unlicenced tier with a reminder popup and no auto-updates; paid non-commercial and commercial licences
StackNginx, PHP-FPM and services as rootless Podman containersApache or Nginx and services as native Windows binaries in a portable folder
PHP versions7.4, 8.0 to 8.5 (shared FPM containers)Multiple versions downloaded into the Laragon folder
.test domainsAutomatic via dnsmasq container, no hosts file editsAutomatic via hosts file entries written by the tray app
HTTPSlerd secure + mkcert, trusted system-wideOne-click self-signed certificate, trusted manually
Scaffoldinglerd new runs the framework's own installerQuick app, one-click Laravel, WordPress, Symfony
ServicesMySQL, Postgres, Redis, Meilisearch, MongoDB, RustFS (S3), Mailpit, shared across sitesMySQL, PostgreSQL, Redis, Memcached, per-install
Non-PHP projectsFirst-class via Containerfile.lerd (Node, Python, Go, Rails)Node, Python and Go bundled as tools, not served as projects
Per-project config.lerd.yaml committed to the repoNone, configuration lives in the Laragon install
Queue + scheduler workerslerd worker start queue / schedule as systemd user servicesNot built in
DashboardWeb UI at 127.0.0.1:7073, system tray, terminal dashboard, installable PWANative tray application
AI / MCPBuilt-in MCP serverNot built in

Choose Laragon when: you work on Windows and want native binaries with no container layer, and the portable folder suits how you move between machines.

Choose Lerd when: you have moved to Linux or macOS, want the same zero-config experience without a Docker daemon, or want the environment described in a file you can commit.

See Laragon for Linux for the feature-by-feature mapping and a migration walkthrough.


Lerd vs Laravel Sail

Laravel Sail is the official per-project Docker Compose solution. Lerd is a shared infrastructure approach, closer to what Laravel Herd does on macOS. Both are valid; they solve slightly different problems.

LerdLaravel Sail
PlatformsLinux (systemd), macOSLinux, macOS, Windows
LicenseOpen source (MIT)Open source (MIT)
Container runtimeRootless PodmanDocker Desktop / Orbstack / Colima
ArchitectureOne shared nginx + PHP-FPM + services across every sitePer-project Docker Compose stack
PHP versions8.1, 8.2, 8.3, 8.4, 8.5 (shared FPM containers)Per-project Sail image (8.2, 8.3, 8.4)
Services (MySQL, Redis…)One shared instancePer-project (or manually shared)
.test domainsAutomatic, zero configManual /etc/hosts or localhost:${APP_PORT} per project
HTTPSlerd secure for trusted mkcert cert instantlyManual or roll your own mkcert
Non-PHP projectsFirst-class via Containerfile.lerd (Node, Python, Go, Rails)Add your own container to the Compose stack
Per-project config.lerd.yaml (PHP + Node + services + workers)docker-compose.yml + Dockerfile
RAM with 5 projects running~200 MB~1–2 GB (5× full stacks)
Requires changes to project filesNoYes, needs docker-compose.yml committed
Works on legacy / client reposYes, just lerd linkOnly if you can add Sail
DashboardWeb UI at 127.0.0.1:7073, system tray, installable PWA at lerd.localhostCLI + Docker Desktop
CostFreeFree

Choose Sail when: your team uses it, you need per-project service versions, or you want infrastructure defined in the repo.

Choose Lerd when: you work across many projects at once and don't want a separate stack per repo, you can't modify project files, you want instant .test routing, or you want the Herd experience on Linux as well as macOS.

Migrating from Sail to Lerd

lerd import sail imports a Sail project's database and S3/MinIO files into lerd in one command, no manual dump/restore needed. It starts Sail temporarily with remapped ports (so there are no conflicts with lerd's running services), dumps the database, mirrors storage files, then tears Sail back down.

bash
cd ~/Projects/myapp
lerd sail import

See Importing from Laravel Sail for details.


Lerd vs ddev

ddev is a popular open-source local development tool that spins up per-project Docker containers with a shared Traefik router. It supports many frameworks (Laravel, WordPress, Drupal, etc.) and runs on macOS, Windows, and Linux. Lerd is narrower in scope (Laravel-focused, Podman-native, shared infrastructure) and closer to the Herd model.

Lerdddev
PlatformsLinux (systemd), macOSLinux, macOS, Windows
LicenseOpen source (MIT)Open source (Apache 2.0)
Container runtimeRootless PodmanDocker / Podman / Orbstack / Colima
ArchitectureShared nginx + PHP-FPM across all projectsPer-project containers behind a shared reverse proxy
PHP versions8.1, 8.2, 8.3, 8.4, 8.5 (shared FPM containers)5.6 through 8.4+ (per-project Docker image)
Services (MySQL, Redis…)One shared instancePer-project (isolated by default)
Domains.test, automatic.ddev.site or custom, automatic via the built-in proxy
HTTPSlerd secure for trusted mkcert cert instantlyBuilt-in via mkcert
Non-PHP projectsFirst-class via Containerfile.lerd (Node, Python, Go, Rails)nodejs and generic project types
Per-project config.lerd.yaml committed to the repo.ddev/config.yaml committed to the repo
RAM with 5 projects running~200 MB~500 MB–1 GB (5× app containers + proxy)
Requires changes to project filesNoYes, needs .ddev/config.yaml committed
Works on legacy / client reposYes, just lerd linkOnly if you can add ddev config
Framework supportLaravel built-in; any PHP framework via YAML definitionsLaravel, WordPress, Drupal, TYPO3, and many more
DashboardWeb UI at 127.0.0.1:7073, system tray, installable PWA at lerd.localhostCLI + optional per-project web UI
CostFreeFree

Choose ddev when: your team is cross-platform, you work with multiple frameworks (not just Laravel), you want per-project service isolation, or your workflow already depends on Docker or Podman.

Choose Lerd when: you want a zero-config shared stack you can drop any project into without touching its files, prefer rootless Podman, or want the lightweight Herd-like experience on Linux or macOS.


Lerd vs Lando

Lando is a long-running open-source local development tool built on Docker. Like ddev it spins up a per-project container stack behind a shared proxy, configured through a .lando.yml file committed to the repo, and it leans on "recipes" that bundle a service stack and its tooling for a given platform. Lerd takes the shared-infrastructure route instead, closer to the Herd model.

LerdLando
PlatformsLinux (systemd), macOSLinux, macOS, Windows
LicenseOpen source (MIT)Open source (GPL-3.0)
Container runtimeRootless PodmanDocker
ArchitectureShared nginx + PHP-FPM across all projectsPer-project containers behind a shared proxy
PHP versions8.1, 8.2, 8.3, 8.4, 8.5 (shared FPM containers)Per-project, set in the recipe or .lando.yml
Services (MySQL, Redis…)One shared instancePer-project (isolated by default)
Domains.test, automatic*.lndo.site, automatic via the proxy
HTTPSlerd secure for a trusted mkcert cert instantlyBuilt-in, per-project certificate
Non-PHP projectsFirst-class via Containerfile.lerd (Node, Python, Go, Rails)First-class via recipes and services (Node, Python, Ruby, Go, .NET)
Per-project config.lerd.yaml committed to the repo.lando.yml committed to the repo
RAM with 5 projects running~200 MB~500 MB–1 GB+ (5× project stacks)
Requires changes to project filesNoYes, needs .lando.yml committed
Works on legacy / client reposYes, just lerd linkOnly if you can add a Landofile
Framework supportLaravel built-in; any PHP framework via YAML definitionsRecipes for Drupal, WordPress, Laravel, Symfony, and many more
DashboardWeb UI at 127.0.0.1:7073, system tray, installable PWA at lerd.localhostCLI only
CostFreeFree

Choose Lando when: your team is cross-platform, you want per-project service isolation defined in the repo, you work with hosting platforms like Pantheon, Platform.sh, or Lagoon and want their lando pull / lando push workflow, or your workflow already depends on Docker.

Choose Lerd when: you want a zero-config shared stack you can drop any project into without committing a config file, prefer rootless Podman with a lighter footprint, or want a built-in web UI and terminal dashboard on Linux or macOS.

Released under the MIT License.