LITTERALETTERS THAT MATTER
← Littera

Your publication.
Your infrastructure.

Run Littera on your own Cloudflare account with Workers, D1, R2, Queues and Durable Objects. You need Node.js 22+, a Workers Paid account and an email provider. Infrastructure and delivery are billed separately by those providers.

1. Get the source and create resources

Clone your Littera repository, enter its directory, and run:

npm ci
npx wrangler whoami
npx wrangler d1 create littera
npx wrangler r2 bucket create littera-media
npx wrangler queues create littera-dead
npx wrangler queues create littera-send

Copy the database ID into wrangler.jsonc. Set APP_URL to your final HTTPS hostname, DEV_MODE=false, APP_MODE=private and SENDING_ENABLED=false. Keep the resource bindings from the template.

2. Set the secrets

Use three different random strings of at least 32 characters for the signing, suppression and encryption secrets. Enter values at Wrangler’s prompts and keep them out of Git.

npx wrangler secret put APP_SECRET
npx wrangler secret put SUPPRESSION_KEY
npx wrangler secret put ENCRYPTION_KEY
npx wrangler secret put ADMIN_EMAILS
npx wrangler secret put EMAIL_FROM

ADMIN_EMAILS contains your administrator addresses. EMAIL_FROM must be a verified platform sender for sign-in messages. Configure Amazon SES, or PostShiba with Resend for platform mail, using the full guide and .env.example.

3. Migrate, check and deploy

npm run db:remote
npm run check
npm run deploy

Inspect /api/health, sign in and create your newsletter. Add a sending domain, publish its DNS records and check the sender in the workspace. Enable reader delivery only after your provider, webhooks and sender are configured; test with an address you control.

4. Make it yours

Your public publication starts at /archive/<slug>. Custom publication domains require DNS and a Cloudflare hostname/TLS route. Google sign-in, Gmail Postmaster and Stripe billing are optional integrations with separate credentials.

Complete deployment and operations guide ↗ · API & MCP documentation · Sign in