Kestrel docs

Self-hosting Kestrel

Copy page
View as MarkdownThis page as plain text

These pages cover deploying and running your own Kestrel, from an empty repository to a live newsletter on your Cloudflare account. Writing and sending the newsletter is covered in Publishing. These pages call whoever writes and sends it the publisher, which may be you.

Get started

These are the steps to deploy a Kestrel instance and get it ready to send. Each one ends with a check, so you know it worked before you move on.
  1. 01 Deploy the app Kestrel runs as one Cloudflare Worker, with a D1 database for posts and subscribers and an R2 bucket for images.
  2. 02 Lock the dashboard with Access Cloudflare Access puts a login in front of the editor and the API.
  3. 03 Create an AWS account Kestrel sends the newsletter's email through Amazon SES, which runs in an Amazon Web Services (AWS) account.
  4. 04 Connect Amazon SES This page connects the app to Amazon Simple Email Service (Amazon SES), which delivers the newsletter's email.
  5. 05 Request production access Once Amazon SES is connected, request production access to start sending email to subscribers.
  6. 06 Verify it works This page checks your instance end to end with real email, while the list is empty and every email goes only to you.
  7. 07 Go live At this point, your instance should be deployed and verified.

Guides

Each one stands on its own. Pick the ones you need.

Reference

The detail behind the steps, for when you need it.