Cloudflare Workers · V8 Isolates · Online

Deploy VPS
with one API call

Serverless microservice for automatic VPS provisioning. DigitalOcean, Hetzner — unified REST interface, zero Terraform.

Native fetch. No binaries. Pure V8 isolates.

REQ.01
DigitalOcean
201 OK
Response
Hetzner
API
ZeroTier
Cloud
Init
WBHK.09
Webhook
Callback
2
Providers
<30s
Deploy Time
0
Binaries Required
1
Endpoint
Architecture

How It Works

POST /api/deploy

Unified Endpoint

Single JSON payload. Provider, region, size, ZeroTier network — one call deploys everything.

Adapters

Provider Routing

Modular adapters translate unified sizes and regions to provider-specific API formats.

ZeroTier

Mesh Networking

Each VPS auto-joins your ZeroTier network via cloud-init. Instant private connectivity.

Webhooks

Ready Callback

The VPS sends a POST to your webhook_url when setup completes. No polling needed.

Cloud Providers

Supported Providers

Active
DigitalOcean

Droplets API. Regions: fra1, ams3, nyc1, sfo3, sgp1. Ubuntu 24.04 LTS.

s-1vcpu-1gb s-2vcpu-2gb s-4vcpu-8gb
Active
Hetzner Cloud

Servers API. Locations: fsn1, nbg1, ash, hil, sin. Ubuntu 24.04.

cx22 cx32 cx42
Reference

API Contract

POST /api/deploy
{
  "provider": "digitalocean",
  "client_api_token": "dop_v1_abc123...",
  "region": "eu-central",
  "size": "small",
  "zt_network_id": "8056c2e21c000001",
  "webhook_url": "https://your-app.com/hook"
}
201 Response
{
  "success": true,
  "server": {
    "id": 412847592,
    "name": "vps-1716681234567",
    "ip": null,
    "status": "new",
    "provider": "digitalocean",
    "region": "eu-central",
    "size": "small"
  }
}
Unified Sizes
smallDO: s-1vcpu-1gb · HZ: cx22
mediumDO: s-2vcpu-2gb · HZ: cx32
largeDO: s-4vcpu-8gb · HZ: cx42
Unified Regions
eu-centralDO: fra1 · HZ: fsn1
eu-westDO: ams3 · HZ: nbg1
us-eastDO: nyc1 · HZ: ash
us-westDO: sfo3 · HZ: hil
ap-southDO: sgp1 · HZ: sin
Standardized Errors

Provider errors (invalid token, rate limits, insufficient funds) are normalized into a consistent JSON format.

No Terraform

Pure REST API calls via native fetch. No external binaries, no state files, no CLI tools. V8 isolate compatible.

Auto Mesh

Each VPS automatically installs ZeroTier and joins your network. Webhook fires when ready.

Ready to deploy?

Spin up a VPS
in one request

curl -X POST https://vpsrunner.pages.dev/api/deploy \
  -H "Content-Type: application/json" \
  -d '{"provider":"hetzner","client_api_token":"...","region":"eu-central","size":"small","zt_network_id":"...","webhook_url":"..."}'