{"id":47312474,"url":"https://github.com/geodro/lerd","last_synced_at":"2026-05-03T18:09:26.957Z","repository":{"id":345036148,"uuid":"1184169426","full_name":"geodro/lerd","owner":"geodro","description":"Open-source, Herd-like local PHP development environment for Linux and macOS. Automatic .test domains, per-project PHP/Node isolation, one-command TLS. Podman-native, rootless.","archived":false,"fork":false,"pushed_at":"2026-04-22T17:15:48.000Z","size":33428,"stargazers_count":121,"open_issues_count":1,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-22T17:24:34.217Z","etag":null,"topics":["developer-tools","laravel","linux","local-development","nginx","php","php-development","podman","symfony","ubuntu"],"latest_commit_sha":null,"homepage":"https://geodro.github.io/lerd/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geodro.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing/building.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-17T10:18:54.000Z","updated_at":"2026-04-22T16:58:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/geodro/lerd","commit_stats":null,"previous_names":["geodro/lerd"],"tags_count":181,"template":false,"template_full_name":null,"purl":"pkg:github/geodro/lerd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geodro%2Flerd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geodro%2Flerd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geodro%2Flerd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geodro%2Flerd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geodro","download_url":"https://codeload.github.com/geodro/lerd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geodro%2Flerd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32329466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","laravel","linux","local-development","nginx","php","php-development","podman","symfony","ubuntu"],"created_at":"2026-03-17T12:17:57.406Z","updated_at":"2026-05-03T18:09:26.946Z","avatar_url":"https://github.com/geodro.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lerd\n\n\u003e Open-source Herd-like local PHP development environment for Linux and macOS.\n\u003e Podman-native, rootless, with a built-in Web UI.\n\n[![CI](https://github.com/geodro/lerd/actions/workflows/ci.yml/badge.svg)](https://github.com/geodro/lerd/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/github/v/release/geodro/lerd)](https://github.com/geodro/lerd/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS-lightgrey)]()\n[![Docs](https://img.shields.io/badge/docs-geodro.github.io%2Flerd-blue)](https://geodro.github.io/lerd/)\n\n![Lerd Web UI](screenshots/app-1.png)\n\nLerd runs Nginx, PHP-FPM, and your services as rootless Podman containers,\ndesigned for PHP developers on Linux and macOS.\nNo Docker. No sudo. No system pollution. Just `lerd link` and your project\nis live at `project.test` with HTTPS.\n\n## Built for Linux PHP developers\n\nIf 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.\n\n## Features\n\n- 🌐 **Automatic `.test` domains** with one-command TLS, or [opt out of lerd-managed DNS](https://geodro.github.io/lerd/features/dns/) and use `*.localhost` (no dnsmasq, no system resolver tweak, no sudo for the DNS bits)\n- 🐘 **Per-project PHP version** (8.1–8.5), switch with one click\n- ⚡ **FrankenPHP runtime** per site as an alternative to shared PHP-FPM, with Laravel Octane and Symfony Runtime worker mode\n- 📦 **Node.js isolation** per project (Node 22, 24)\n- 🖥️ **Built-in Web UI** - 3-pane dashboard to manage sites, services, and logs from a browser\n- 🧪 **Tinker tab** - in-browser PHP REPL per site with autocomplete (project models, composer helpers, PHP built-ins), live `php -l` syntax checking, and a collapsible tree view for `dump()` output. Works on Laravel (`artisan tinker`), Symfony, and any composer-based PHP project\n- 💻 **Terminal dashboard** (`lerd tui`) - btop-style TUI with live status, site detail pane, inline domain and version editing, shell drop-in, log tailing, and filter/sort — the same operations surface as the web UI, for tmux and SSH workflows\n- 🗄️ **One-click services**: MySQL, PostgreSQL, Redis, Meilisearch, RustFS, Mailpit, Stripe Mock, Reverb and more\n- 📋 **Live logs** for PHP-FPM, Queue, Schedule, Reverb, per site\n- 🔒 **Rootless \u0026 daemonless** - Podman-native, no Docker required\n- 🤖 **MCP server** - let AI assistants (Claude Code, Windsurf, Junie) manage your environment directly\n- 🧩 **Framework store** - community definitions for Laravel, Symfony, WordPress, Drupal, CakePHP, Statamic with versioned auto-detection\n- ⚡ **Framework-agnostic** workers, env setup, and nginx proxy — driven by YAML definitions, not hardcoded\n\n## AI Integration (MCP)\n\nLerd ships a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server. Connect it to Claude Code, Windsurf, JetBrains Junie, or any MCP-compatible AI assistant and manage your dev environment without leaving the chat.\n\n```bash\nlerd mcp:enable-global   # register once, works in every project\n```\n\nThen just ask:\n\n```\nYou: set up the project I just cloned\nAI:  → site_link()\n     → composer install\n     → env_setup()    # detects MySQL + Redis, starts them, creates DB, generates APP_KEY\n     → setup()        # storage:link + migrate for Laravel, doctrine:migrations:migrate for Symfony\n     ✓  myapp → https://myapp.test ready\n```\n\n~50 tools available: scaffold new projects, run migrations, manage services, toggle workers, tail logs, enable Xdebug, manage databases, manage PHP extensions, park directories, switch runtimes between PHP-FPM and FrankenPHP, and more, all from your AI assistant.\n\n📖 [MCP documentation](https://geodro.github.io/lerd/features/mcp/)\n\n## Why Lerd?\n\n|                    | Lerd | DDEV | Lando | Laravel Herd |\n|--------------------|------|------|-------|--------------|\n| Podman-native      | ✅   | ❌   | ❌    | ❌           |\n| Rootless           | ✅   | ❌   | ❌    | ✅           |\n| Web UI             | ✅   | ❌   | ❌    | ✅           |\n| Terminal dashboard | ✅   | ❌   | ❌    | ❌           |\n| Linux              | ✅   | ✅   | ✅    | ❌           |\n| macOS              | ✅   | ✅   | ✅    | ✅           |\n| MCP server         | ✅   | ❌   | ❌    | ❌           |\n| Free \u0026 open source | ✅   | ✅   | ✅    | ❌           |\n\n## Install\n\n### Linux\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/geodro/lerd/main/install.sh | bash\n```\n\nUpdate later with:\n\n```bash\nlerd update\n```\n\n### macOS\n\nInstall via Homebrew:\n\n```bash\nbrew install geodro/lerd/lerd\nlerd install\n```\n\nUpdate later with:\n\n```bash\nbrew upgrade lerd\nlerd install\n```\n\n\u003e [!NOTE]\n\u003e See the [installation docs](https://geodro.github.io/lerd/getting-started/installation/) for details.\n\n## Quick Start\n\n```bash\ncd my-laravel-project\nlerd link\n# → https://my-laravel-project.test\n```\n\n`lerd install` already starts everything for you on first run, so you can `lerd link` immediately. Day-to-day:\n\n```bash\nlerd start          # boot DNS, nginx, PHP-FPM, services, workers, UI\nlerd stop           # stop containers and workers (UI and watcher stay up)\nlerd quit           # full shutdown including UI, watcher, and tray\nlerd autostart enable   # boot lerd on every login\nlerd status         # health snapshot\n```\n\nSee [Start, Stop \u0026 Autostart](https://geodro.github.io/lerd/usage/lifecycle/) for the full lifecycle reference.\n\n## Framework Store\n\nInstall community framework definitions from [geodro/lerd-frameworks](https://github.com/geodro/lerd-frameworks):\n\n```bash\nlerd framework search                   # list all available\nlerd framework install symfony          # auto-detects version from composer.lock\nlerd framework install drupal@11        # explicit version\nlerd framework list --check             # compare local vs store\n```\n\nFrameworks 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.\n\n## Documentation\n\n📖 **[geodro.github.io/lerd](https://geodro.github.io/lerd/)**\n\n- [Requirements](https://geodro.github.io/lerd/getting-started/requirements/)\n- [Installation](https://geodro.github.io/lerd/getting-started/installation/)\n- [Quick Start](https://geodro.github.io/lerd/getting-started/quick-start/)\n- [Start, Stop \u0026 Autostart](https://geodro.github.io/lerd/usage/lifecycle/)\n- [Frameworks](https://geodro.github.io/lerd/usage/frameworks/)\n- [Services](https://geodro.github.io/lerd/usage/services/)\n- [Command Reference](https://geodro.github.io/lerd/reference/commands/)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeodro%2Flerd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeodro%2Flerd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeodro%2Flerd/lists"}