Skip to content

Environments

An environment is an isolated copy of a project’s canvas: the same services and databases, separate runtime and data.

Environment isolation Same canvas topology, separate runtime and data Production created with the project web postgres own variables · own disks Durable until the project is deleted Custom staging or QA from project settings web postgres own network · no prod data Durable until you delete it Review pull-request preview web postgres cloned add-ons · isolated Torn down when the PR closes canvas shows one environment at a time

Created with the project. This is the live environment. Auto-deploy typically tracks your main branch.

Add an environment from project settings when you need a durable staging or QA copy. Services and databases in that environment have their own variables and private network. They do not share disks or database data with production.

When review apps are on, opening a pull request provisions a review environment from a source service you configure on the project. Each PR gets its own add-on instances so previews do not share production data. The environment is removed when the PR closes.

See PR previews for branch mapping and teardown.

Environment When created Lifespan
production With the project Until you delete the project
custom From project settings Until you delete it
review When a PR opens (if enabled) Until the PR closes

The canvas is always showing one environment. Use the environment switcher in the project header. Staged changes apply only to the environment you are viewing.

Environments are phase in API paths: /api/apps/{pipeline}/{phase}/{app}.