Next.js を Lizard にデプロイする
next build と next start を使って、Next.js を Node.js サーバーとして Lizard で実行します。この方法では、リクエスト時レンダリング、Route Handlers、Server Actions のためにサーバーを利用可能な状態に保てます。すべてのルートを事前にビルドできる場合は、代わりに Next.js静的エクスポート に従ってください。
ビルド設定
| 設定 | 値 |
|---|---|
| プロジェクト root | package.json と Next.js 設定を含むディレクトリ |
| ビルド script | next build |
| Start script | next start --hostname 0.0.0.0 --port 3000 |
| ビルド output | .next/ |
| サービスポート | 3000 |
| ランタイム | Node.js |
アプリを準備する
next、react、react-dom を依存関係に含めたままにし、lockfile をコミットしてください。これらのスクリプトを package.json に統合します:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start --hostname 0.0.0.0 --port 3000"
}
}このガイドでは標準の Next.js 出力を使用します。output: 'export' には静的サーバーが必要で、output: 'standalone' には独自の server.js 起動とアセット配置が必要です。どちらもこの next start の手順をそのままでは使用しません。
.nvmrc で、22 などのサポート対象の Node メジャーバージョンを選択します。アップロードするソースから .next/、node_modules/、.env* を除外してください。必要であれば、シークレットを含まないサンプル環境ファイルは残します。
本番ビルドをローカルでテストする
npm ci
npm run build
npm run start別のターミナルで http://localhost:3000 を開き、内部ルートをテストします。アプリに API または Server アクション がある場合は、それも実行して確認してください。開発サーバーのチェックだけを通過しても、本番ビルドが動作する証明にはなりません。
デプロイ
Lizard CLIのインストールとサインイン の後、アプリのディレクトリから次を実行します:
lizard init --name nextjs-app
lizard add --service web
lizard up --service web --port 3000
lizard logs --build --service web --json
lizard logs --service web --json
lizard ps --jsonLizard は next の依存関係を検出し、ビルドスクリプトと起動スクリプトを実行します。これらのコマンドは、サービスに既存のビルドまたは起動のオーバーライドがないことを前提としています。ローカルでのチェックを繰り返すには、デプロイ出力内の URL を使用してください。
環境変数とデータ
NEXT_PUBLIC_* の値は、ビルド中にブラウザバンドルの一部になります。認証情報はサーバー専用の変数に保持し、サービスに対して 変数とシークレット から設定してください。ビルド中にデータを取得するコードは、ビルド時にもそのデータへアクセスできる必要があります。ランタイムを再起動しても、すでに生成済みの HTML や JavaScript は変更されません。
ローカルキャッシュファイルとアップロードされたファイルは、レプリカ間で共有されるストアにはなりません。1 レプリカを超えてスケールする前に、Next.js のキャッシュ要件と Server アクション の要件を確認してください。永続的なアプリデータはデータベースまたはオブジェクトストレージに保存し、ストレージとリカバリ を読んでください。
トラブルシューティング
| 症状 | 確認 |
|---|---|
Missing script: start | 上記の本番用起動スクリプトを追加してください。next dev はローカル開発用です。 |
| アプリが正常状態にならない | --port 3000 を起動コマンドに一致させ、0.0.0.0 にバインドしてください。 |
| Public API URL がまだ古い値のまま | 新しい NEXT_PUBLIC_* の値で再ビルドしてください。 |
| ビルドがデータベースに到達できない | ルートがビルド時にデータを取得しているか、その依存先がその時点で到達可能かを確認してください。 |
next start で static export が失敗する | 別の static export ガイドに従ってください。 |
Next.jsセルフホスティングガイド では、フレームワークレベルのキャッシュ、画像、マルチインスタンス動作を扱っています。デプロイエラーについては、サービスが常にhealthyにならない を参照してください。
September 9, 2026 のデプロイチェックとその制限については、テスト済みバージョンとクラウド結果 を参照してください。