Cloudflare hosting
StoreCay Starter runs as a Cloudflare Worker (Astro + @astrojs/cloudflare), with D1 and R2 bindings from wrangler.jsonc.
CLI deploy
Section titled “CLI deploy”From your clone / fork:
npx wrangler secret put SESSION_SECRETnpx wrangler secret put GUEST_TOKEN_SECRET# optionalnpx wrangler secret put STRIPE_SECRET_KEYnpx wrangler secret put STRIPE_WEBHOOK_SECRETnpx wrangler secret put PAYPAL_CLIENT_SECRETnpx wrangler secret put RESEND_API_KEY
npx wrangler d1 migrations apply DB --remotenpm run buildnpx wrangler deployCustom domain
Section titled “Custom domain”In the Cloudflare dashboard: Workers & Pages → your Worker → Settings → Domains & Routes (or Triggers). Attach your zone hostname and finish DNS as prompted.
CI (GitHub Actions)
Section titled “CI (GitHub Actions)”The template ships .github/workflows/deploy-to-cloudflare-workers.yml (push to main):
| Kind | Names |
|---|---|
| Secrets | CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID |
| Vars (optional) | PUBLIC_STRIPE_KEY, PUBLIC_PAYPAL_CLIENT_ID, PAYPAL_ENV, PUBLIC_INPOST_GEOWIDGET_TOKEN |
Project defaults stay in committed store.config.ts. Server secrets stay in Wrangler secrets, not in the repo.
One-click alternative
Section titled “One-click alternative”Prefer the dashboard flow: One-click deploy.