Marketing site
The public website, deployed to Cloudflare Workers.
apps/web is the public site. It runs on vinext, the
Next.js App Router API on Vite, and is deployed as a Cloudflare Worker. It
does not call the API.
| Route | Content |
|---|---|
/ | Home: security, features, self-hosting, pricing and FAQ |
/contact | A contact form |
/privacy, /terms | Legal pages with a table of contents |
The contact form is not wired up
The contact form validates its fields and then only simulates a submission;
it sends nothing yet. The header's Log in button links to the
web app at https://app.montarapass.com.
The site follows the system theme and has a light, dark and system switch in the header.
pnpm dev:web # http://localhost:5174
pnpm --filter @montara-pass/web run build
pnpm --filter @montara-pass/web run start # serve the build locallyDeploy
The Worker is described in apps/web/cloudflare.config.ts: its name, its
entrypoint, the compatibility date, the ASSETS binding and, under domains,
the custom domains it is published to. Those domains must belong to zones on
the Cloudflare account that deploys. There is no wrangler.jsonc.
pnpm --filter @montara-pass/web exec cf auth login
pnpm deploy:webpnpm deploy:web builds and then deploys with Cloudflare's cf CLI. In CI
the same command runs with CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID;
see Releases.
cf and @cloudflare/vite-plugin 2 are beta releases.