Skip to content

Deploy runbooks

How each package is deployed.

For hosting platforms, SaaS, and software per package, see Services & vendors.

PackageCommandTarget
frontendpnpm deploy:frontendCloudflare Workers
dashboardpnpm deploy:dashboardCloudflare Workers
docspnpm deploy:docsCloudflare Pages
backendpnpm deploy:backendFly.io
helpdeskpnpm deploy:helpdeskFly.io

Hybrid Astro SSR + static assets. Same pattern as the partner dashboard.

  • Worker name: soultales-www
  • Build: pnpm --filter soultales-frontend build:ci
  • Deploy: wrangler deploy --config dist/server/wrangler.json from frontend/
  • See frontend/DEPLOY.md in the repo
  • CI workflow: .github/workflows/deploy-frontend.yml
  • GitHub secrets: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, DIRECTUS_*, AUTH_*, ASTRO_DB_*, MAILGUN_*, CHATWOOT_*

Builds partner docs, then Astro SSR bundle. Deploy uses Wrangler from dist/server/wrangler.json.

Static Starlight build deployed with Wrangler Pages.

  • Project name: soultales-docs
  • Production URL: https://blueprints.soultales.app
  • Build: pnpm --filter soultales-docs build
  • Publish: docs/dist
  • Manual deploy: pnpm deploy:docs from repo root
  • Domain setup: docs/DEPLOY.md
  • GitHub secrets (production environment): CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
  • CI workflow: .github/workflows/deploy-docs.yml
  • CI uses pnpm exec wrangler (not cloudflare/wrangler-action: Node 20 action breaks on current GitHub runners)

Docker-based deploys with fly deploy --remote-only. Each package has its own fly.toml and Fly app name.