UNPKG

workflow

Version:

Workflow DevKit - Build durable, resilient, and observable workflows

96 lines (68 loc) 3.2 kB
--- title: Deploying icon: Rocket description: Deploy workflows locally, on Vercel, or anywhere using pluggable World adapters. type: overview summary: Learn how to deploy workflows to different environments using World adapters. related: - /docs/deploying/world/local-world - /docs/deploying/world/postgres-world - /docs/deploying/world/vercel-world - /docs/deploying/building-a-world --- Workflows are designed to be highly portable. The same workflow code can run locally during development, on Vercel with zero configuration, or on any infrastructure using **Worlds** pluggable adapters that handle storage, queuing, and communication. ## Local Development During local development, workflows automatically use the **Local World** no configuration required. The Local World stores workflow data in a `.workflow-data/` directory and processes steps synchronously, making it perfect for development and testing. ```bash # Just run your dev server - workflows work out of the box npm run dev ``` You can inspect local workflow data using the CLI: ```bash npx workflow inspect runs ``` <Callout> Learn more about the [Local World](/worlds/local) configuration and internals. </Callout> ## Deploying to Vercel The easiest way to deploy workflows to production is on Vercel. When you deploy to Vercel, workflows automatically use the **Vercel World** again, with zero configuration. The Vercel World provides: - **Durable storage** - Workflow state persists across function invocations - **Managed queuing** - Steps are processed reliably with automatic retries - **Automatic scaling** - Workflows scale with your application - **Built-in observability** - View workflow runs in the Vercel dashboard Simply deploy your application: ```bash vercel deploy ``` <FluidComputeCallout /> <Callout> Learn more about the [Vercel World](/worlds/vercel) and its capabilities. </Callout> ## Self-Hosting & Other Providers For self-hosting or deploying to other cloud providers, you can use community-maintained Worlds or build your own. <Cards> <Card title="Explore Worlds" href="/worlds"> Browse official and community World implementations with compatibility status and performance benchmarks. </Card> <Card title="Build Your Own" href="/docs/deploying/building-a-world"> Learn how to implement a custom World for your infrastructure. </Card> </Cards> ### Using a Third-Party World To use a different World implementation, set the `WORKFLOW_TARGET_WORLD` environment variable: ```bash export WORKFLOW_TARGET_WORLD=@workflow-worlds/postgres # Plus any world-specific configuration export DATABASE_URL=postgres://... ``` Each World may have its own configuration requirements refer to the specific World's documentation for details. ## Observability The [Observability tools](/docs/observability) work with any World backend. By default they connect to your local environment, but can be configured to inspect remote deployments: ```bash # Inspect local workflows npx workflow inspect runs # Inspect remote workflows npx workflow inspect runs --backend @workflow-worlds/postgres ``` Learn more about [Observability](/docs/observability) tools.