ローカル Docker Compose
対象読者:ローカル環境で echo-nebula の依存サービスと API を起動する開発者。
infra リポジトリはローカル編成を管理します。dev-up.sh は PostgreSQL と MinIO を起動します。dev-apps-up.sh はこれらの依存サービスに加えて両方の Go API、Developer Console、docs site を起動し、Alpha E2E に使用します。
最小例
cd ../echo-nebula-infra
./scripts/dev-apps-up.sh
./scripts/wait-for-services.sh
./scripts/e2e-all.sh
デフォルトポートは PostgreSQL 5432、MinIO API 9000、MinIO console 9001、public API 4000、admin API 4100、Developer Console 4173、docs 4200 です。公開されるすべての service はデフォルトで 127.0.0.1 に bind されます。
MailpitのSMTPは 1025、メール捕捉画面は 8025 です。
Host 公開境界
COMPOSE_BIND_IP で共通 bind address を変更できます。各サービスの個別 override は POSTGRES_PORT、MINIO_PORT、MINIO_CONSOLE_PORT、PUBLIC_API_PORT、ADMIN_API_PORT、CONSOLE_PORT、DOCS_PORT、MAILPIT_SMTP_PORT、MAILPIT_HTTP_PORT です。
MinIO または Console port を変更した場合、S3_PUBLIC_ENDPOINT を browser-visible MinIO endpoint に、ADMIN_CORS_ALLOWED_ORIGINS を Console の exact origin に合わせてください。scheme、host、port のいずれかが違えば別の browser Origin です。
Readiness fault matrix
/healthz は process liveness、/readyz は dependency を確認します。object storage だけが停止したとき Admin が 200 degraded を維持しても、通常の full-stack gate は両 API のすべての component status が ready であることを要求します。
破壊的な recovery matrix は isolated entry point だけで実行します。
./scripts/e2e-readiness-isolated.sh
この script は独立 port と volume を持つ一意な Compose project を作成し、PostgreSQL、MinIO、複合 outage と API restart なしの recovery を検証し、reports/readiness/ に evidence を保存して自分の isolated project だけを削除します。default local project には lifecycle command を実行しません。
よくある間違い
- アプリケーションコードを infra リポジトリに入れないでください。infra はローカル編成専用です。
- 対応する backend process が起動する前に smoke script を実行しないでください。
- ローカル Alpha テストに本番 S3 bucket や database を使わないでください。
- APIs と web apps を起動する場合、依存サービスだけの
dev-up.shを使わないでください。 - default Compose project で dependency を手動停止して fault test を行わず、
e2e-readiness-isolated.shを使ってください。 - Console または MinIO の公開 port を変更するときは、対応する CORS または public endpoint 設定も更新してください。
次のステップ
Public APIを呼び出してください。