# ECP-0044: Cloudflare Workers Static Site Deployment ## Why We want a fast, globally cached, no-backend website at `every.channel` that: - serves the viewer UI (PWA-capable), - can be deployed reproducibly from this repo, - does not require a centralized application server. Cloudflare Workers + static Assets gives us: - global edge caching and TLS, - a simple deploy story (`wrangler deploy`), - the option to add small edge logic later (redirects, headers, SPA fallback). ## Proposal - Treat `apps/tauri/ui` as the canonical website source (Dioxus web build). - Treat `apps/tauri/dist` as the deployment artifact. - Add a Cloudflare Worker project under `deploy/cloudflare-worker/` that serves `apps/tauri/dist`. - Implement SPA fallback: if an asset path 404s, serve `/index.html`. - Keep deployment logic in a script: - build: `trunk build --release` - deploy: `wrangler deploy` ## Scope (initial) - One worker that only serves static assets + SPA fallback. - No API, no auth, no server-side state. - Domain mapping to `every.channel` is declared in `wrangler.toml` via Workers Custom Domains. - This requires appropriate Cloudflare account permissions for `wrangler deploy` to attach the domain. ## Reversibility High. The worker is a thin wrapper over static assets. We can migrate to Pages, another CDN, or self-hosted static with minimal changes.