Skip to content

Deployment

This guide covers deploying the booking platform to production using Cloudflare Workers via Wrangler.

Overview

The booking platform deploys to Cloudflare Workers for edge-first performance. Each app and integration has its own Worker with dedicated wrangler.jsonc configuration.

Prerequisites

  • Bun >= 1.3.0
  • Wrangler CLI (installed via catalog)
  • Cloudflare account with Workers enabled
  • CLOUDFLARE_API_TOKEN environment variable set

Workers

WorkerWorkspaceEntry PointDescription
booking-websiteapps/websiteapps/website/.output/server/index.tsMain web app with SSR
booking-adminapps/adminapps/admin/.output/server/index.tsAdmin dashboard
booking-docsdocsdocs/.vitepress/distVitePress documentation site

Deploy Commands

Deploy Website

bash
bun run --cwd apps/website deploy

Deploy Admin

bash
bun run --cwd apps/admin deploy

Deploy Docs

bash
bun run build:docs
bun run --cwd docs deploy

Configuration

Each workspace has a wrangler.jsonc file with:

  • name: Worker name
  • main: Entry point path
  • compatibility_date: Runtime compatibility date
  • vars: Environment variables
  • d1_databases: D1 database bindings (if used)
  • kv_namespaces: KV namespace bindings (if used)

Environment Variables

Set the following secrets via Wrangler:

bash
wrangler secret put SUPABASE_URL
wrangler secret put SUPABASE_SERVICE_KEY
wrangler secret put STRIPE_SECRET_KEY
wrangler secret put OPENAI_API_KEY
wrangler secret put RESEND_API_KEY
wrangler secret put REDIS_URL

Database Migrations

Run Drizzle migrations before deploying:

bash
bun run --cwd packages/database drizzle-kit migrate

CI/CD

The project uses GitHub Actions for CI/CD. See .github/workflows/ for pipeline configuration. The verify task runs check, test, and build before any deployment.

Rollback

Cloudflare Workers supports instant rollback via the dashboard or Wrangler:

bash
wrangler deployments rollback

Monitoring

  • Cloudflare Analytics: Worker metrics, CPU time, requests
  • Health endpoint: /.health on each Worker
  • Error tracking: Sentry integration via packages/infrastructure

Released under the MIT License.