CloudflareDeployer
The CloudflareDeployer class handles deployment of standalone Mastra applications to Cloudflare Workers. It manages configuration, deployment, and extends the base Deployer class with Cloudflare specific functionality.
Installation
npm install @mastra/deployer-cloudflare@latestUsage example
import { Mastra } from "@mastra/core/mastra";
import { CloudflareDeployer } from "@mastra/deployer-cloudflare";
export const mastra = new Mastra({
// ...
deployer: new CloudflareDeployer({
projectName: "hello-mastra",
env: {
NODE_ENV: "production",
},
}),
});See the CloudflareDeployer API reference for all available configuration options.
Manual deployment
Manual deployments are also possible using the Cloudflare Wrangler CLI . With the Wrangler CLI installed run the following from your project root to deploy your application.
With the Wrangler CLI installed, login and authenticate with your Cloudflare logins:
npx wrangler loginRun the following to build and deploy your application to Cloudflare
npm run build && wrangler deploy --config .mastra/output/wrangler.jsonYou can also run
wrangler dev --config .mastra/output/wrangler.jsonfrom your project root to test your Mastra application locally.
Build output
The build output for Mastra applications using the CloudflareDeployer includes all agents, tools, and workflows in your project, along with Mastra specific files required to run your application on Cloudflare.
- index.mjs
- wrangler.json
- package.json
The CloudflareDeployer automatically generates a wrangler.json configuration file in .mastra/output with the following settings:
{
"name": "hello-mastra",
"main": "./index.mjs",
"compatibility_date": "2025-04-01",
"compatibility_flags": ["nodejs_compat", "nodejs_compat_populate_process_env"],
"observability": { "logs": { "enabled": true } },
"vars": {
"OPENAI_API_KEY": "...",
"CLOUDFLARE_API_TOKEN": "..."
}
}