Guides

Preview deployments

Pull requests get their own URL and optional data — torn down on merge.

What you get

When preview deploys are enabled on a service and the GitHub App can reach the repo:

  • A unique preview URL per PR (for example https://{name}-pr-{n}-{shortId}.…)
  • A child service marked as a preview (isPreview)
  • Deploy status reflected via GitHub checks when configured
  • Automatic teardown when the PR merges or closes

Previews are not attached to custom project domains (ADR: excluded from domain route tables).

Enable

  1. Install the GitHub App on the repository.
  2. Turn on the service preview deploy flag.
  3. Open or update a pull request — the webhook creates the preview deploy.

There is no separate /previews dashboard page; preview services appear on the service/project overview with preview badges.

Protecting previews

Treat preview URLs as semi-public. Prefer password protection or SSO when sharing with clients.

Differences from production

Previews may use smaller compute, ephemeral data, and different env. Never assume preview data is production-safe — treat it as disposable.