CLI-Tool
lerd-env/lerd avatar
lerd-env/lerd

Lerd: eine rootless-Podman-basierte PHP-Entwicklungsumgebung für Linux und macOS

Projektüberblick: Open-Source, Herd-ähnliche lokale PHP-Entwicklungsumgebung für Linux und macOS. Automatische .test-Domänen, PHP/Knoten-Isolierung pro Projekt, TLS mit einem Befehl. Podman-einheimisch, wurzellos.

1.288 Sterne78 ForksGoMIT

Auf einen Blick

Was ist das?
Lerd führt Nginx, PHP-FPM und Dienste als rootless-Podman-Container aus, mit automatischen .test-Domains und HTTPS sowie einer integrierten Web-UI.
Für wen ist es gedacht?
Lerd ist eine in Go geschriebene, MIT-lizenzierte lokale PHP-Umgebung, die ausschließlich Podman nutzt und Automatisierung für Domains, TLS und projektbezogene Laufzeiten bietet. Das Repository hat derzeit 841 Stars und 8 offene Issues.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich Go, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Podman-nativ, rootless, daemonlos | lerd-env-lerd-deep-analysis

Lerd ist ausschließlich für rootless Podman gebaut. Es führt Nginx, PHP-FPM und Benutzerdienste als Podman-Container aus, ohne Docker oder sudo. Die README erklärt, dass dieses Design Systemverschmutzung vermeidet und IPv4+IPv6-Dual-Stack unterstützt.

Das Projekt ist in Go geschrieben, der Standardzweig ist main. Die Repository-Metadaten zeigen 841 Sterne, 46 Forks und 8 offene Issues, mit MIT-Lizenz.

Projekte verknüpfen und .test-Domains | lerd-env-lerd-deep-analysis

Der zentrale Befehl ist `lerd link`, der einem Projekt einen `.test`-Hostnamen und HTTPS mit einem Zertifikat zuweist, das vor Ablauf erneuert wird. Die DNS-Verarbeitung ist automatisch und benötigt kein dnsmasq, keine System-Resolver-Änderung und kein sudo; man kann die Verwaltung für `*.localhost` deaktivieren. Site-Gruppen erlauben es, dass eine Hauptsite eine Basisdomäne besitzt, während andere Sites Subdomains belegen, mit geteilter oder separater Datenbank.

Host-Proxy-Sites führen Nicht-PHP-Entwicklungsserver auf dem Host aus und stellen sie über nginx unter einer `.test`-Domäne bereit. Git-Worktrees sind erstklassig: automatisch erkannte Branch-Domains, pro-Worktree-PHP- und Node-Versionen, Wildcard-Zertifikat-SANs für `*.branch.site.test`. Teilen funktioniert im LAN mit QR-Code oder öffentlich über ngrok, cloudflared, Expose, serveo oder localhost.run.

PHP, Node und Laufzeiten | lerd-env-lerd-deep-analysis

Pro Projekt werden PHP-Versionen 8.1 bis 8.5 angeboten, plus eine eingefrorene 7.4/8.0-Legacy-Stufe. Benutzerdefinierte PHP-Erweiterungen und Alpine-Pakete werden einmal deklariert und auf jedes von Lerd gebaute Image angewendet. Die FrankenPHP-Laufzeit ist eine Alternative zu gemeinsam genutztem PHP-FPM pro Site und unterstützt Laravel Octane und Symfony Runtime Worker-Modus.

Node.js-Isolation nutzt Node 22 oder 24 über das gebündelte fnm oder ein vorhandenes nvm, umschaltbar im Dashboard, oder bun als JS-Laufzeit auf dem Host. Der Framework-Store bietet Community-Definitionen für Laravel, Symfony, WordPress, Drupal, Magento, CakePHP und Statamic mit versionierter Auto-Erkennung bis zu den Majors, die noch auf PHP 7.4 laufen. Kein Framework-spezifisches Setup: Workers, Umgebungsvariablen und nginx-vhost werden beim Linken konfiguriert.

Dienste, Datenbanken und IDE-Integration | lerd-env-lerd-deep-analysis

One-Click-Dienste umfassen MySQL, PostgreSQL, Redis, Meilisearch, RustFS, Mailpit, Reverb und OpenSearch, mit integriertem Standard-Stack und Add-ons aus einem Store, der ohne neues Lerd-Release aktualisiert wird. Auf der Dienstseite können Datenbanken eines Engines durchsucht, erstellt und gelöscht werden, mit Snapshots, Export und Import.

Die JetBrains-IDE-Datenbankverdrahtung ist automatisiert: Ein Projekt erhält eine Datenquelle, die auf seine eigene Lerd-Datenbank am tatsächlich antwortenden Host-Port zeigt, beim Linken geschrieben und bei Datenbankänderungen aktualisiert, ohne Datenquellen zu berühren, die Lerd nicht besitzt.

Debugging- und Performance-Tools | lerd-env-lerd-deep-analysis

Das Debug-Fenster fängt jeden `dump()`- und `dd()`-Aufruf ab und streamt ihn an Dashboard, TUI, MCP und `lerd dump tail`, pro Site und Worktree-Branch. Es erfasst auch SQL mit N+1- und Slow-Query-Erkennung sowie Mail, Views, Events, queued Jobs und ausgehendes HTTP bei Laravel und Symfony. Der SPX-Profiler lässt sich mit einem Klick ein- und ausschalten und macht jeden PHP-FPM-Request zu einem Flammengraphen in einer Same-Origin-Profiler-Ansicht im Dashboard, ohne FPM-Neustart oder Codeänderungen.

`lerd profile run` profiliert einen einmaligen artisan- oder CLI-Befehl. Die Request-Timing-Analyse bietet eine dauerhafte Pro-Site-Ansicht typischer und p95-Antwortzeiten, Durchsatz, Fehlerrate und der langsamsten Routen nach p95, mit One-Click-Profiling. Der Tinker-Tab ist ein PHP-REPL im Browser pro Site mit projektbewusster Autovervollständigung, Hover und Diagnose, unterstützt von phantomp_lsp.

Oberflächen und KI-Zugriff | lerd-env-lerd-deep-analysis

Die eingebaute Web-UI bietet Site- und Service-Dashboards, Live-Widgets, eine globale Cmd+K-Befehlspalette und PHP- und Node-Versionsverwaltung, in vierzehn Sprachen. Das Terminal-Dashboard (`lerd tui`) ist eine btop-artige TUI mit Live-Status, Site-Detailbereich, Inline-Domain- und Versionsbearbeitung, Shell-Drop-in, Log-Tailing und Filter/Sortierung. Konfigurationsbearbeitung im Browser für nginx, `php.ini`, `.env` und Service-Tuning, mit Validierung und zeitgestempelten Backups.

Live-Logs für PHP-FPM, Queue, Schedule und Reverb werden in der tatsächlichen Farbe des Tools gerendert und können an ein echtes Terminal übergeben werden. Benachrichtigungen erreichen offene Dashboards, per Web Push abonnierte Browser oder den nativen Desktop-Daemon; die Seitenleisten-Glocke behält die letzten 50. Lerd liefert außerdem einen Model Context Protocol Server mit zwölf gruppierten Tools, mit denen KI-Assistenten wie Claude Code, Cursor und JetBrains Junie die Umgebung verwalten können, global registriert mit `lerd mcp:enable-global`.

Installation, Wartung und Projektstatus | lerd-env-lerd-deep-analysis

Installation ist auf Linux und macOS über ein Einzeiler-Skript (`curl -fsSL https://lerd.sh/install.sh | bash`) möglich, alternativ per apt (Ubuntu/Debian PPA), dnf (Fedora COPR), Homebrew und NixOS-Flake. Der Umgebungs-Doctor (`lerd doctor`) prüft Host-Abhängigkeiten und repariert mit `--fix`, was sicher möglich ist; sudo-Befehle werden gedruckt, nicht ausgeführt. Der Site-Doctor fügt projektbezogene Health Checks hinzu: Env-Drift, Application Key, Composer- und Node-Zustand, Sicherheitsaudits, Datenbankvorhandensein und PHP-Versionsbereich. Worker-Self-Heal zeigt fehlgeschlagene Worker überall an (CLI, Dashboard-Banner, TUI, MCP) und erholt sie mit einem Klick.

Idle-Suspend stoppt Worker nach einem konfigurierbaren Timeout und setzt sie bei Aktivität fort. Host-Tools wie Composer, fnm und mkcert sind hinter einem veröffentlichten Manifest gepinnt. Das Projekt ist MIT-lizenziert und nicht archiviert; die README macht keine Aussagen zu Produktionsstatus oder Garantie.

Prüfung mit lerd-env-lerd-deep-analysis

Für lerd-env-lerd-deep-analysis sollte zuerst `lerd doctor` und `lerd link` in einer isolierten Testumgebung ausgeführt werden. Dabei sind die im README dieses Projekts genannten Eingaben, Ausgaben, Konfigurationsdateien und Fehlermeldungen zu notieren. Der konkrete Prüfpunkt ist, ob der dokumentierte Hauptablauf mit der eigenen Version und Umgebung reproduzierbar ist; allgemeine Erfolgsannahmen ersetzt dieser Test nicht. Anschließend wird ein Fehlerfall geprüft, etwa eine fehlende Abhängigkeit, ein ungültiger Pfad oder ein abgebrochener Lauf, und die beobachtete Reaktion mit der Projektdokumentation verglichen.

Redaktionelles Fazit

Lerd ist eine in Go geschriebene, MIT-lizenzierte lokale PHP-Umgebung, die ausschließlich Podman nutzt und Automatisierung für Domains, TLS und projektbezogene Laufzeiten bietet. Das Repository hat derzeit 841 Stars und 8 offene Issues. Geeignet ist lerd-env-lerd-deep-analysis für Teams, deren Arbeitsablauf zu den dokumentierten Funktionen passt; ungeeignet bleibt es für Anforderungen, die das README nicht beschreibt. Vor der Einführung `lerd doctor` und `lerd link` ausführen und die projektspezifische Ausgabe prüfen.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen