Skip to main content

Cloud Hosting Providers

Wunderland agents can be deployed to 9 cloud hosting providers through the unified deployment system. Each provider is backed by a set of tools that handle project creation, build configuration, deployment, and domain management. The siteDeploy orchestration tool selects the best provider automatically based on your project's framework, or you can specify one explicitly.

For end-to-end deployment walkthroughs, see the Site Deploy Orchestration guide.

Provider Overview

ProviderTierBest ForToolsRequired Secrets
VercelP0Next.js, React, frontend frameworks6VERCEL_TOKEN, VERCEL_ORG_ID
Cloudflare PagesP0Static sites, Workers, edge-first apps6CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
NetlifyP0JAMstack, static sites, form handling5NETLIFY_AUTH_TOKEN
DigitalOcean App PlatformP1Full-stack apps, managed databases5DIGITALOCEAN_TOKEN
RailwayP1Backend services, databases, quick deploys5RAILWAY_TOKEN
Fly.ioP1Containers, global edge, low-latency APIs5FLY_API_TOKEN
AWS (S3 + CloudFront)P2Enterprise, static hosting, CDN at scale4AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
HerokuP2Prototypes, simple backend services4HEROKU_API_KEY
Linode (Akamai)P2VPS hosting, self-managed infrastructure4LINODE_TOKEN

Provider Tiers

Providers are organized by integration depth and reliability:

  • P0 (Core) -- Vercel, Cloudflare Pages, Netlify. First-class support with full tool coverage, automatic framework detection, preview deployments, and domain binding. These providers receive the most testing and are recommended for production use.

  • P1 (Extended) -- DigitalOcean, Railway, Fly.io. Solid integrations with good tool coverage. Suitable for backend-heavy applications, container workloads, or when you need managed databases alongside your deployment.

  • P2 (Manual) -- AWS, Heroku, Linode. Functional integrations with fewer automation tools. These require more manual configuration but offer maximum control over infrastructure.


P0 Core Providers

Vercel

The default choice for Next.js applications. Vercel handles builds, serverless functions, edge middleware, and preview deployments out of the box.

Required Secrets:

VariableDescription
VERCEL_TOKENPersonal access token from vercel.com/account/tokens
VERCEL_ORG_IDOrganization or team ID (found in project settings)

Available Tools: vercel.create-project, vercel.deploy, vercel.set-env, vercel.list-deployments, vercel.add-domain, vercel.rollback

Best For: Next.js, React, Svelte, Nuxt, Astro, any framework with a build command.

Example:

wunderland chat
> Deploy this Next.js app to Vercel and connect my domain

The agent detects next.config.js, selects Vercel, creates the project, deploys, and configures the custom domain -- all in one conversation.

tip

Vercel auto-detects framework settings from your repository. For monorepos, set the rootDirectory in your project settings or pass it as a tool parameter.


Cloudflare Pages

Edge-first hosting with Cloudflare Workers integration. Ideal for static sites that need global distribution, or applications using Cloudflare Workers for server-side logic.

Required Secrets:

VariableDescription
CLOUDFLARE_API_TOKENAPI token from dash.cloudflare.com/profile/api-tokens
CLOUDFLARE_ACCOUNT_IDAccount ID (found on the dashboard overview page)

Available Tools: cloudflare.create-project, cloudflare.deploy, cloudflare.set-env, cloudflare.list-deployments, cloudflare.add-domain, cloudflare.purge-cache

Best For: Static sites, Astro, SvelteKit, Remix (with Workers adapter), any project targeting edge compute.

Example:

wunderland chat
> Deploy my static site to Cloudflare Pages with the cloudflare.com domain I already own
note

If you also use Cloudflare Registrar for your domain, DNS records are configured automatically. See the Domain Registrars guide.


Netlify

A mature platform for JAMstack and static sites with built-in form handling, identity, and serverless functions.

Required Secrets:

VariableDescription
NETLIFY_AUTH_TOKENPersonal access token from app.netlify.com/user/applications

Available Tools: netlify.create-site, netlify.deploy, netlify.set-env, netlify.list-deploys, netlify.add-domain

Best For: Static sites, Hugo, Gatsby, Eleventy, simple React SPAs.

Example:

wunderland chat
> Build and deploy my Hugo blog to Netlify

P1 Extended Providers

DigitalOcean App Platform

Managed platform for full-stack applications with built-in databases, object storage, and monitoring.

Required Secrets:

VariableDescription
DIGITALOCEAN_TOKENAPI token from cloud.digitalocean.com/account/api/tokens

Available Tools: digitalocean.create-app, digitalocean.deploy, digitalocean.set-env, digitalocean.list-deployments, digitalocean.add-domain

Best For: Full-stack Node.js/Python apps, projects needing managed PostgreSQL or Redis alongside the deployment.


Railway

One-command deploys with automatic Nixpacks detection. Railway excels at backend services and database-backed applications.

Required Secrets:

VariableDescription
RAILWAY_TOKENProject token from railway.app/account/tokens

Available Tools: railway.create-project, railway.deploy, railway.set-env, railway.list-deployments, railway.add-domain

Best For: Backend APIs, database-heavy apps, services that need persistent processes.

Example:

wunderland chat
> Deploy my Express API to Railway and add a PostgreSQL database

Fly.io

Container-based deployments with global edge distribution. Fly.io runs your app close to users via micro-VMs.

Required Secrets:

VariableDescription
FLY_API_TOKENAuth token from fly auth token or fly.io/user/personal_access_tokens

Available Tools: fly.create-app, fly.deploy, fly.set-env, fly.list-machines, fly.add-certificate

Best For: Docker-based deployments, globally distributed APIs, WebSocket servers, long-running processes.

Example:

wunderland chat
> Deploy this Dockerfile to Fly.io in the iad region

P2 Manual Providers

AWS (S3 + CloudFront)

Static site hosting via S3 buckets with CloudFront CDN distribution. The most scalable option for high-traffic static sites, but requires more configuration.

Required Secrets:

VariableDescription
AWS_ACCESS_KEY_IDIAM access key with S3 and CloudFront permissions
AWS_SECRET_ACCESS_KEYIAM secret key

Available Tools: aws.create-bucket, aws.deploy-static, aws.configure-cdn, aws.invalidate-cache

Best For: Enterprise static hosting, sites requiring fine-grained CDN control, existing AWS infrastructure.

warning

AWS deployments require IAM permissions for S3, CloudFront, and optionally Route 53. Use a scoped IAM policy rather than root credentials.


Heroku

Simplified platform for prototypes and small backend services. Heroku's buildpack system auto-detects your stack.

Required Secrets:

VariableDescription
HEROKU_API_KEYAPI key from dashboard.heroku.com/account

Available Tools: heroku.create-app, heroku.deploy, heroku.set-config, heroku.add-domain

Best For: Quick prototypes, simple Node.js/Python/Ruby backends, Heroku Postgres.


Linode (Akamai)

VPS-based hosting for teams that want full server control. Linode deployments provision a Nanode/Linode instance and configure it via StackScripts or SSH.

Required Secrets:

VariableDescription
LINODE_TOKENPersonal access token from cloud.linode.com/profile/tokens

Available Tools: linode.create-instance, linode.deploy, linode.configure-dns, linode.list-instances

Best For: Self-managed servers, custom runtime environments, applications needing root access.


Auto-Selection Logic

When you use the siteDeploy tool without specifying a provider, the orchestrator selects one based on your project:

Framework DetectedDefault ProviderReason
Next.js (next.config.*)VercelNative Next.js support, serverless functions
Nuxt (nuxt.config.*)VercelSSR support, edge middleware
SvelteKit (svelte.config.*)VercelAdapter-auto compatibility
Astro (astro.config.*)Cloudflare PagesEdge-first, static-first defaults
Remix (remix.config.*)Cloudflare PagesWorkers adapter, edge rendering
Static HTML (no framework)NetlifySimple drag-and-deploy, no config needed
Dockerfile presentFly.ioContainer-native, global distribution
Express/Fastify/NestJSRailwayBackend-optimized, auto-detection
UnknownVercelBroadest framework support as fallback

You can override auto-selection:

wunderland chat
> Deploy this to Railway instead of Vercel

Or in the tool call directly:

{
"tool": "siteDeploy",
"params": {
"provider": "railway",
"domain": "api.example.com"
}
}

Cost Considerations

Most providers offer generous free tiers suitable for agent-deployed projects:

ProviderFree TierPaid Starting At
Vercel100 GB bandwidth, serverless limits$20/mo (Pro)
Cloudflare PagesUnlimited bandwidth, 500 builds/mo$5/mo (Workers Paid)
Netlify100 GB bandwidth, 300 build minutes$19/mo (Pro)
Railway$5 free credit/moUsage-based
Fly.io3 shared VMs, 160 GB transferUsage-based
DigitalOcean$200 free credit (60 days)$5/mo (Basic)
AWS S3 + CF5 GB S3, 50 GB CloudFront (12 months)Usage-based
HerokuEco dynos $5/mo$7/mo (Basic)
Linode$100 free credit (60 days)$5/mo (Nanode)

The agent factors in cost when making provider recommendations. If you ask for "the cheapest option for a static site," it will suggest Cloudflare Pages (unlimited free bandwidth) over Vercel or Netlify.