Mastra本番サーバーの作成
Mastraアプリケーションを本番環境にデプロイする際、エージェント、ワークフロー、その他の機能をAPIエンドポイントとして公開するHTTPサーバーとして動作します。このページでは、本番環境向けにサーバーを設定およびカスタマイズする方法について説明します。
サーバーアーキテクチャ
Mastraは、基盤となるHTTPサーバーフレームワークとしてHono を使用しています。mastra build
を使用してMastraアプリケーションをビルドすると、.mastra
ディレクトリにHonoベースのHTTPサーバーが生成されます。
サーバーは以下を提供します:
- 登録されたすべてのエージェント用のAPIエンドポイント
- 登録されたすべてのワークフロー用のAPIエンドポイント
- カスタムAPIルートサポート
- カスタムミドルウェアサポート
- タイムアウトの設定
- ポートの設定
- ボディ制限の設定
追加のサーバー動作の追加について詳しくは、Middlewareと Custom API Routesのページをご覧ください。
サーバー設定
Mastraインスタンスでサーバーのport
とtimeout
を設定できます。
src/mastra/index.ts
import { Mastra } from "@mastra/core/mastra";
export const mastra = new Mastra({
// ...
server: {
port: 3000, // Defaults to 4111
timeout: 10000, // Defaults to 30000 (30s)
},
});
method
オプションは"GET"
、"POST"
、"PUT"
、
"DELETE"
、または"ALL"
のいずれかを指定できます。"ALL"
を使用すると、パスにマッチするすべてのHTTPメソッドに対してハンドラーが呼び出されます。
カスタムCORS設定
MastraではサーバーのCORS(Cross-Origin Resource Sharing)設定を構成することができます。
src/mastra/index.ts
import { Mastra } from "@mastra/core/mastra";
export const mastra = new Mastra({
// ...
server: {
cors: {
origin: ["https://example.com"], // Allow specific origins or '*' for all
allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
allowHeaders: ["Content-Type", "Authorization"],
credentials: false,
},
},
});