YOUR SIGNAL. YOUR INFRASTRUCTURE.
Run it on
your own account.
The same site, feed, workspaces, email, and webhooks on your own Cloudflare account, with your database, secrets, and sender. MIT licensed.
Three ways in
- Deploy to Cloudflare imports the repository into your account and provisions the Worker and D1 database. Set the deploy command to
bun run deploy:cloudflareand yourAPP_URLbefore the first build. - Give your coding agent the deployment prompt. It runs the manual steps for you and asks only for the choices you have to make.
- Follow the manual guide step by step.
What you need
- A Cloudflare account with Workers and D1.
- Bun 1.3.14+ and Node 22+.
- Two random 32-byte hex secrets:
ENCRYPTION_KEYandADMIN_TOKEN. - Your final HTTPS origin, on workers.dev or a custom domain.
Optional, each with your own credentials
- Webhooks need the small egress gateway on a host you control. It makes the outbound connections from a validated, pinned public address. The deploy button does not provision it.
- Email needs SMTP credentials on port 465 or Cloudflare Email Service. Email transport guide.
- GitHub sign-in needs a GitHub App you register with callback
<APP_URL>/auth/github/callback. GitHub App guide.
Without any of them you still get the site, the public feed, and workspaces whose apps wait until a channel is enabled. Each feature shows as unavailable in the UI until it is configured.
Operating it
Watch /api/health for source sync and the admin health endpoint for backlog. Back up D1 and the encryption key. Migrations are additive; apply them before deploying a newer Worker. The operations guide covers budgets, retention, and rollback.