One-click deployment for shared Workers projects

Cloudflare has introduced a "Deploy to Cloudflare" button that repository maintainers can embed in their READMEs to let other developers spin up a full Workers application without wading through setup docs. The button is intended for any public GitHub or GitLab repository containing a Workers app, from simple starters to production-grade open-source projects.

Deploy to Cloudflare

When a developer clicks the button, Cloudflare handles the entire provisioning pipeline:

  • Repository creation: the project is cloned into a new repository on the user's GitHub or GitLab account so they can continue building on it.
  • Resource provisioning: any Cloudflare primitives declared in the project—such as Workers KV namespaces, D1 databases, or R2 buckets—are created automatically and bound to the Worker at deploy time.
  • CI/CD setup: Workers Builds is configured so each push to the production branch triggers an automatic build and deployment.
  • Preview URLs: pushes to non-production branches generate preview URLs that are posted back to GitHub as pull request comments.
BLOG-2711 image 1

The feature addresses a common friction point for open-source Workers projects. Traditionally, a README had to instruct users to clone the repo, install packages, install Wrangler, create a database, copy IDs into config files, run a deploy command, push to a new repository, and wire up CI. Each step is a chance for someone to give up. With the button, those instructions collapse into a single action, which should translate into more adoption, feedback, and contributions for shared projects.

The same simplification applies to self-hosting. Developers who want to run their own instance of a complex application no longer need deep infrastructure knowledge; the button provisions everything required.

Self-hosting with traditional cloud provider

Self-hosting with Cloudflare 

Setup a VPCInstall tools and dependencies  Set up and provision storage Manually configure CI/CD pipeline to automate deployments Scramble to manually secure your environment if a runtime vulnerability is discoveredConfigure autoscaling policies and manage idle servers

✅Serverless✅Highly-available global network✅Automatic provisioning of datastores like D1 databases and R2 buckets✅Built-in CI/CD workflow configured out of the box✅Automatic runtime updates to keep your environment secure✅Scale automatically and only pay for what you use.

Live examples

Cloudflare points to several open-source projects already using the button:

Fiberplane API playground

Fiberplane provides an embeddable playground for building, testing, and exploring Hono APIs and AI agents. Its sample applications are built on the HONC stack—Hono, Drizzle ORM, D1 Database, and Cloudflare Workers—and ship with the open-source Fiberplane API Playground preconfigured for OpenAPI generation, handler testing, and API exploration.

Deploy to Cloudflare

Remote MCP server

Developers can build and deploy remote Model Context Protocol (MCP) servers on Workers. Cloudflare's implementation supports authentication, so users can log in from an AI agent and grant scoped permissions, letting them interact with services conversationally instead of navigating dashboards or learning APIs.

Deploy to Cloudflare

Agents starter kit

For developers exploring agentic AI, Cloudflare offers a template for building chat agents on its Agent platform. Powered by the Agents SDK, it provides a starting point for AI chat experiences with a modern UI and tool integration capabilities.

Deploy to Cloudflare

Adding the button to your project

To enable the button in your own repository, make the repo public and include the appropriate markdown or HTML snippet with your Git repository URL.

[![Deploy to Cloudflare](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=<YOUR_GIT_REPO_URL>)

When a user clicks the button, Cloudflare parses the Wrangler configuration file, provisions any resources it detects, and creates a repository on the user's account that is pre-populated with references to the newly created resources.

{
  "compatibility_date": "2024-04-03",

  "d1_databases": [
    {
      "binding": "MY_D1_DATABASE",

	//will be updated with newly created database ID
      "database_id": "1234567890abcdef1234567890abcdef"
    }
  ]
}

For developers who prefer not to search for a button, Cloudflare also lets you paste the URL of any public GitHub or GitLab repository containing a Workers application directly into the dashboard to trigger the same deployment flow.

BLOG-2711 image 2

More guidance on setup and best practices is available in the official Deploy to Cloudflare documentation.