# Self-hosting Kestrel

*[Kestrel version 1.19.0](https://github.com/kurtbruns/kestrel/releases/tag/v1.19.0)*

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](https://getkestrel.dev/docs/publishing.md). 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. [Deploy the app](https://getkestrel.dev/docs/deploy.md)
1. [Lock the dashboard with Access](https://getkestrel.dev/docs/access.md)
1. [Create an AWS account](https://getkestrel.dev/docs/aws-account.md)
1. [Connect Amazon SES](https://getkestrel.dev/docs/ses.md)
1. [Request production access](https://getkestrel.dev/docs/production-access.md)
1. [Verify it works](https://getkestrel.dev/docs/verify.md)
1. [Go live](https://getkestrel.dev/docs/go-live.md)

## Guides

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

- [Allow Claude to connect](https://getkestrel.dev/docs/allow-claude.md)
- [Automate with a service token](https://getkestrel.dev/docs/automate.md)
- [Notifications through Cloudflare's email](https://getkestrel.dev/docs/notifications.md)
- [Rate-limit the subscribe form](https://getkestrel.dev/docs/rate-limit.md)
- [As your list grows](https://getkestrel.dev/docs/as-your-list-grows.md)
- [Upgrade to a new release](https://getkestrel.dev/docs/upgrade.md)

## Reference

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

- [Configuration](https://getkestrel.dev/docs/configuration.md)
- [Sending-domain DNS: SPF, DKIM, and DMARC](https://getkestrel.dev/docs/sending-domain-dns.md)
