CLIツール
lerd-env/lerd avatar
lerd-env/lerd

Lerdの構成: rootless PodmanでPHP開発環境を組み立てる

プロジェクト概要:Linux および macOS 用のオープンソースの Herd のようなローカル PHP 開発環境。自動 .test ドメイン、プロジェクトごとの PHP/ノード分離、ワンコマンド TLS。ポッドマン出身で根無し草。

スター 1,288フォーク 78GoMIT

ひと目でわかる

これは何?
LinuxとmacOSでNginx、PHP-FPM、周辺サービスをPodmanコンテナとして動かし、.test、HTTPS、Web UI、AI連携まで提供するLerdを確認します。
誰に向いている?
Lerdは、Dockerやsudoを常用せず、rootless Podmanで複数のPHPプロジェクトを分離して開発したいLinuxまたはmacOS利用者に向きます。.testとHTTPS、サービス、デバッグ機能は豊富ですが、READMEは本番利用の保証を示していません。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Go です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

rootless Podmanを前提にしたローカル環境

Lerdは、Nginx、PHP-FPM、ユーザーサービスをrootless Podmanコンテナで動かすPHP開発環境です。READMEはDockerとsudoを必要としないPodman専用設計、IPv4とIPv6のデュアルスタックを特徴として挙げています。プロジェクトはGoで書かれ、mainブランチで公開され、MITライセンスです。

この設計は、ホストへ直接サービスを大量に入れず、プロジェクトごとの環境を整えたい開発者に合います。一方、Podmanを前提とするため、既存のDocker中心の手順をそのまま置き換えられるとは限りません。READMEは本番ステータスや保証を説明していないので、ローカル開発用の境界を越える場合は別の審査が必要です。

lerd linkが作る.testとHTTPS

中心的なコマンドはlerd linkです。プロジェクトへ.testホスト名とHTTPSを割り当て、証明書を期限前に再発行します。DNS処理は自動で、dnsmasqやシステムリゾルバーの変更、sudoを必要としないとREADMEは説明します。*.localhostの管理を使わない選択もあります。

サイトグループでは、メインサイトがベースドメインを持ち、サブサイトがサブドメインを占め、データベースを共有または分離できます。非PHPの開発サーバーをホスト上で動かすプロキシサイトもあり、Git worktreeはブランチごとのドメイン、PHPとNodeの版、ワイルドカード証明書SANに対応します。便利な名前解決と証明書発行が、日々の切り替えを軽くする構成です。

PHP、Node、フレームワークをプロジェクト単位で切り替える

LerdはPHP 8.1から8.5をプロジェクトごとに提供し、7.4と8.0の凍結されたレガシー層も持ちます。カスタムPHP拡張とAlpineパッケージを宣言すると、Lerdが作るイメージへ適用されます。FrankenPHPは共有PHP-FPMの代替としてサイトごとに選べ、Laravel OctaneとSymfony Runtimeのworkerモードに対応します。

Node.jsは22または24を、バンドルされたfnmや既存のnvmを介して切り替えられ、ホスト側ではbunも使えます。フレームワークストアにはLaravel、Symfony、WordPress、Drupal、Magento、CakePHP、Statamicの定義があり、リンク時にworker、環境値、Nginx vhostを設定します。版の自動選択がプロジェクトの期待と一致するかは、実際のcomposerとNode設定で確認する必要があります。

サービスとIDE接続を同じ画面から管理する

ワンクリックで使えるサービスとして、MySQL、PostgreSQL、Redis、Meilisearch、RustFS、Mailpit、Reverb、OpenSearchなどがREADMEに挙がります。サービス画面からデータベースを閲覧、作成、削除でき、スナップショット、エクスポート、インポートも扱います。組み込みの既定スタックとは別に、リリースを待たず更新されるアドオンストアもあります。

JetBrains IDE向けのデータベース接続は自動化され、実際に応答するホストポートをデータソースへ書き込み、データベース変更時に更新します。Lerdが所有しないデータソースには触れないとREADMEは説明します。削除やインポートを簡単に実行できることは利点である一方、共有環境では対象プロジェクトとバックアップを操作前に確認する必要があります。

dump、SQL、SPXで原因を追う

デバッグウィンドウはdump()とdd()を捕捉し、ダッシュボード、TUI、MCP、lerd dump tailへストリームします。サイトとworktreeブランチごとに範囲が分かれ、SQL、N+1、遅いクエリ、LaravelとSymfonyのメール、ビュー、イベント、キュー、送信HTTPも捕捉対象です。開発中の観測点を一つの環境へまとめる設計です。

SPXプロファイラはワンクリックで切り替えられ、PHP-FPMリクエストをフレームグラフとして同一オリジンのProfiler画面に表示します。FPM再起動やコード変更は不要で、lerd profile runは単発のartisanやCLIを測定します。サイト別の典型値、p95、スループット、エラー率、遅いルートも表示しますが、これらの機能が本番相当の負荷を表すかは自分のアプリケーションで確かめるべきです。

Web UI、TUI、MCPと保守コマンド

内蔵Web UIはサイトとサービスのダッシュボード、ライブウィジェット、Cmd+Kコマンドパレット、PHPとNodeの版管理を提供し、14言語に対応します。lerd tuiはbtop風のTUIで、ライブ状態、サイト詳細、ドメインと版の編集、ログ追跡、フィルター、並べ替えを扱います。nginx、php.ini、.env、サービス設定はブラウザから編集でき、検証と時刻付きバックアップもあります。

LerdにはMCPサーバーが組み込まれ、12グループのツールでClaude Code、Cursor、JetBrains Junieなどが環境を管理できます。lerd mcp:enable-globalで登録します。インストールはcurlのワンライナーのほか、UbuntuとDebianのPPA、Fedora COPR、Homebrew、NixOS flakeに対応し、lerd doctorとsite doctorが依存関係やプロジェクト状態を確認します。MCPを有効にする場合は、AIへ与える操作権限とログの範囲を先に決めてください。

プロジェクト分離を崩さない導入手順

Lerdを使い始めるときは、まず一つのテストプロジェクトをlerd linkへ渡し、.testの名前解決、HTTPS証明書、Nginx、PHP-FPM、Nodeの版を順に確認します。次にデータベースを作成し、IDE側の接続先とバックアップ、削除時の対象を記録します。複数のworktreeを扱うなら、ブランチごとのドメインとデータを取り違えない命名規則が必要です。

Web UIやTUIから設定を変える場合は、変更前のファイルと検証結果を保存します。MCPを登録する場合は、サイトの作成、設定編集、worker復旧のどこまでをAIに許可するかを分けます。便利な自動検出に任せきりにせず、doctorの結果と実際のホスト状態を照合してからチームの標準環境へ採用します。

編集部の結論

Lerdは、Dockerやsudoを常用せず、rootless Podmanで複数のPHPプロジェクトを分離して開発したいLinuxまたはmacOS利用者に向きます。.testとHTTPS、サービス、デバッグ機能は豊富ですが、READMEは本番利用の保証を示していません。まずホスト依存関係、権限、ポート、データ保存、MCPへ渡す操作権限を検証用プロジェクトで確認してください。サイト削除や設定変更の前にバックアップと対象パスを確認し、AIへ許可する操作を限定してログを残します。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート