EmailFlare runs as a Cloudflare Worker — with D1 for storage, KV for caching, and the React admin UI served as a static asset. No Docker, no volumes, no servers to manage. One command sets everything up.
Cloudflare Workers bring EmailFlare closer to your users and further from your ops burden — no servers to provision, no containers to run, no volumes to back up.
Cloudflare Workers run on V8 isolates — no containers, no boot time. Your email API responds in milliseconds from data centres in 300+ cities worldwide.
EmailFlare stores everything in Cloudflare D1: templates, API keys, domains, send logs. D1 is fully managed SQLite at the edge — no provisioning, no backups to configure.
just worker-setup creates your D1 database, KV namespace, patches wrangler.jsonc, runs migrations, sets secrets, builds the admin UI, and deploys — all automatically.
The full React admin UI ships as a Worker static asset. No separate hosting needed — it's served directly from the same Worker deployment on your workers.dev subdomain.
Use just worker-rollout-upload to stage new versions with Cloudflare's gradual rollout feature. Ship confidently — roll back in seconds if something goes wrong.
Workers free tier covers 100,000 requests per day, and D1 includes 5 GB storage and 25 million row reads daily. For most teams, the cost of running EmailFlare on Workers is zero.
Both options ship with EmailFlare. Choose Docker for full control and on-prem deployments; choose Workers for zero-ops edge hosting.
Full container stack — Hono API, React admin UI, SQLite storage on a server you control.
Serverless edge deployment — no containers, no servers, no volumes. D1 + KV + static assets.
just worker-rollout-uploadjust worker-updateThe setup script handles everything automatically — D1, KV, secrets, admin build, and deploy. You just need your Cloudflare credentials ready.
Clone the repo and run just install from the root. This installs
dependencies for the setup scripts, the Worker, and the admin UI in one step.
npm i -g pnpm if pnpm isn't available yet.
Copy the example config and fill in your Cloudflare API token, account ID, and the secrets EmailFlare will use at runtime.
Edit scripts/config.toml — the key fields are:
Log in to Cloudflare via Wrangler. This opens a browser window — authorise the CLI and return to the terminal. You only need to do this once per machine.
CLOUDFLARE_API_TOKEN in your environment instead. The setup script will use it automatically.
just worker-setup does the full deploy — automatically:
After the first deploy, add ADMIN_ORIGIN to scripts/config.toml
with your Worker URL, then run just worker-setup again to push the secret.
This prevents cross-origin requests to the admin panel.
workers.dev URL — the EmailFlare admin panel is live.
Add a sending domain, generate an API key, and start sending email from the edge.