メインコンテンツへ移動

Mastra を Cloudflare にデプロイする

@mastra/deployer-cloudflare を使用して、Mastra サーバーを Cloudflare Workers にデプロイします。Deployer はコードをバンドルし、Cloudflare の wrangler 設定に準拠した wrangler.jsonc ファイルを生成するため、追加設定なしでデプロイできます。

情報

Server Adapter または Web フレームワークを使用している場合は、そのフレームワークの通常の方法でデプロイしてください。

始める前に
始める前にへの直接リンク

Mastra アプリケーションCloudflare アカウントが必要です。

警告

Cloudflare Workers のファイルシステムは一時的なため、設定するすべてのストレージ(Observability ストレージを含む)は外部でホストする必要があります。LibSQLStore でファイル URL を使用している場合は、リモートでホストされるデータベースに切り替えてください。

インストール
インストールへの直接リンク

@mastra/deployer-cloudflare パッケージをプロジェクトに追加します。

npm install @mastra/deployer-cloudflare@latest

CloudflareDeployer をインポートし、Mastra 設定の Deployer として指定します。

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { CloudflareDeployer } from '@mastra/deployer-cloudflare'

export const mastra = new Mastra({
deployer: new CloudflareDeployer({
name: 'your-project-name',
vars: {
NODE_ENV: 'production',
},
}),
})

Cloudflare Worker をローカルでテストするには、wrangler CLI もインストールします。

npm install -D wrangler

使用方法
使用方法への直接リンク

プロジェクトを設定したら、使用するリモート Git Provider(GitHub など)にプッシュします。

  1. リポジトリを Cloudflare に接続します。"Workers & Pages" ダッシュボードで Create application を選択し、次の Step で Git Provider を選択します。設定を続け、デプロイするリポジトリを選択します。

    注記

    アプリケーションの実行に必要な環境変数(モデル Provider の API キーなど)を設定してください。npx wrangler secret bulk .env を使用すると、.env ファイルからシークレットをアップロードできます。詳しくは Secrets を参照してください。

  2. 準備ができたら Deploy ボタンをクリックし、最初のデプロイが完了するまで待ちます。

  3. https://<your-project-name>.<slug>.workers.dev/api/agents にアクセスして、新しくデプロイした Function を試します。利用可能なすべての Agent を一覧にした JSON レスポンスが返されます。

    Mastra サーバーはすべての API エンドポイントに /api を付けるため、リクエスト時の URL に追加する必要があります。

  4. これで、Mastra エンドポイントを HTTP 経由で呼び出せます。

    注記

    エンドポイントを公開する前に、認証を設定してください。