> For the complete documentation index, see [llms.txt](https://docs.yaeris.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yaeris.com/software/yaeris-launchpad/environments-and-branch-deploys.md).

# Environments & Branch Deploys

Production, PR previews, and optional branch deploys on Launchpad -- how preview databases work and how to password-protect non-production URLs.

Launchpad supports three kinds of environments for a project:

## Production

Your tracked branch (usually main) always deploys to your project's production environment -- the URL you share with the world.

## Pull request previews

When you open a pull request against your tracked branch, Launchpad automatically builds a preview deployment at its own URL (pr--.hosting.yaeris.com), so you can review changes before merging. Preview deployments are automatically torn down when the PR is closed.

Previews require a preview database. Because Strapi and Payload both run schema migrations automatically on boot, a preview environment must never share your production database -- doing so risks a destructive PR migrating (and corrupting) your live data. Set a PREVIEW\_DATABASE\_URL under Environment Variables (preview kind) before opening a PR, or preview deployments will be skipped.

## Branch deploys (optional)

By default, only your tracked branch and pull requests deploy. If you want every branch pushed to your repo to get its own preview URL (e.g. feature/new-editor), turn on Deploy any branch under your project's Settings. This is off by default -- existing projects are unaffected unless you turn it on.

Branch deploys share the same preview-database requirement as PR previews, and are capped at 10 concurrent branch environments per project to protect shared hosting capacity. A branch deploy isn't automatically removed when its branch is deleted on GitHub -- clean up old branch deploys manually if you no longer need them.

## Deployment protection

You can password-protect every non-production environment (previews and branch deploys) for a project from Settings. This never applies to your production URL.
