Guide

Build and deploy

Environments

An environment is an isolated copy of your application: its own services, variables, volumes, domains, and private network. Use them for production, staging, previews, or experiments.

Production

Every project starts with production. It is the default environment, and deleting it asks you to type its name.

Create and duplicate

Open the environment switcher in the top bar and choose New environment. You can start empty or duplicate an existing environment: Mesh copies its services and their settings, and optionally their variables. Volumes, domains, and data are not copied.

Terminal
curl -X POST https://mesh.example.com/v1/environments/$ENVIRONMENT_ID/duplicate \
  -H "Authorization: Bearer $MESH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "staging", "copy_variables": true}'

Isolation

  • Network. Services reach each other only inside their environment. See Private networking.
  • Variables. Each environment has its own values, so staging can use a test payment key while production uses the live one.
  • Releases. Staged changes and releases belong to one environment.

Auto-deploy

Each environment decides whether pushes deploy on their own. Toggle it in the environment menu; an environment with auto-deploy off shows manual in the switcher. See Deployments and releases.

Rename and delete

Rename an environment from its menu. Deleting it stops every service in it and removes its domains; restore it from Recently deleted during the grace period. See Deleting and restoring.