Overview
Sproutboat turns a JavaScript or TypeScript fetch handler into a native binary you run yourself.
Sproutboat turns a JavaScript or TypeScript fetch handler into a native Linux binary you run on your own server. Build a standalone executable, or deploy to a self-hosted platform for HTTPS, logs and rollbacks. Production runs no Node or V8.
How it fits together
| Piece | Role |
|---|---|
Your handler (src/index.js or src/index.ts) |
One default export with fetch, plus optional scheduled and queue. Static imports are bundled before compilation. |
| The sprout | The compiled native binary. One process per deployment, one request in flight at a time. |
| The broker | A sidecar next to the sprout that serves every env.* binding call over loopback RPC. |
| The control plane | Stores artifacts, starts sprouts behind Caddy, issues TLS, and serves the CLI’s API. A standalone binary runs without it. |
Get started
Quickstart
Go from nothing to a deployed sprout in four commands.
Bindings
KV, D1-compatible SQLite, R2-compatible object storage, queues, secrets, cron, Durable Objects and more.
CLI reference
Every sproutboat command and environment variable.
See Architecture for the build and runtime components, and Runtime compatibility for tested JavaScript APIs and npm packages.