Deploy
Live in one deploy. Pick how you get there.
Three ways in, all landing in the same place — your whole email stack on your own Cloudflare account. Click a button from your browser, hand it to your coding agent, or own the code from the first commit. Pick the one that fits how you work; you can't pick wrong.
- no servers to run
- · SPF · DKIM · DMARC handled
- · free to self-host
- · leave any time
Before you start
Four things to have ready.
Check these once and every path below is straightforward. An agent can run tinbox doctor --preflight yourdomain.com before it starts.
- A Cloudflare account
- Your domain is an active Cloudflare zone
- Cloudflare Workers Paid plan
- Node.js 20 or newer (for the CLI path)
Three paths, easiest first.
All three do the same thing — provision your account, wire up mail, and put a live inbox on your domain. They differ only in how hands-on you want to be. Most people start with the button.
| Path | Best if you want… | You'll need |
|---|---|---|
| 1 Deploy to Cloudflare | the fastest way in, no terminal | a browser + a Cloudflare account |
| 2 Hand it to your agent | it set up while you approve each step | Claude Code, Cursor, or any agent with shell access |
| 3 npx tinbox | to own the code from the first commit | a terminal + Node |
No terminal required
Deploy straight from your browser.
Who it's for: anyone who wants the fastest way to a working inbox and would rather not touch a command line.
What happens: the Deploy to Cloudflare button clones the project into your GitHub, auto-provisions everything it needs — storage, queues, inbound routing — and deploys it to your account, all from the Cloudflare dashboard. The in-app setup then walks you through attaching your domain and turning on mail. Creating a Cloudflare account takes about five minutes if you don't have one; nothing installs on your machine.
opens the Cloudflare dashboard
Let an agent do it
Paste the prompt; approve as it goes.
Who it's for: you already run Claude Code, Cursor, or another agent with shell access and you'd rather it did the setup than you.
What happens: Tinbox is built to be agent-operable end to end. The prompt points your agent at the canonical runbook, which checks prerequisites, stops for the few decisions only you can make, and hands you to the web app to claim the owner account.
paste into Claude · Cursor · any agent
Deploy Tinbox to my Cloudflare account.
Follow INIT-INSTRUCTIONS.md from
top to bottom; stop for HUMAN STEPs.
Then hand me off to claim the owner account.Own the code from the first commit
Scaffold it locally, deploy it yourself.
Who it's for: you want the source in your own repo from commit one — to read it, configure it, and reshape it. The developer path, in two commands.
- 01
Run the installer
Start with your domain. Tinbox scaffolds your own deployment — the engine, worker, companion app, and deploy configuration — then leads you into the resumable setup.
npx tinbox init yourdomain.com - 02
Deploy to your account
tinbox setup provisions everything inside your Cloudflare account — storage, queues, mail routing, and sending — then deploys the worker. It is idempotent and resumable: a re-run picks up where it left off.
tinbox setup --deploy - 03
You're live on your domain
Send and receive on your own domain, on your own account. Read the full guide for DNS specifics and the resume flow.
✓ hello@yourdomain.com is live
True of every path
Deliverable from day one.
However you deploy, the mail path is the same. Inbound rides Cloudflare Email Routing; outbound goes through Cloudflare's managed sending pool with SPF, DKIM, and DMARC set up on your zone — the same authenticated path a hosted sender gives you. You're not warming an IP or building reputation from zero; sending rides Cloudflare's managed pool, the way Resend or SES would handle it for you, correct from the first send.
One domain, one deployment, all in your own account. Each organization runs on its own separate resources — never a shared database. See the full architecture →
Rather not?
Not technical? We'll set it up for you.
If deploy scripts and DNS records aren't your thing, we'll handle the whole setup — domain configuration, mail routing, migration from Mailchimp, the works. You get the exact same ownership: it lands on your Cloudflare account, with your data and keys. We just do the wiring.
Tell us what you need →Yours to leave any time.
Because it's standard email on infrastructure you control, you can export it, mirror it to git, or walk with all of it whenever you like. Start free; buy the lifetime license when you're ready to own the source.
- free to self-host
- your own account
- no lock-in