Skip to content

Add a staging environment

Goal: Have a production environment and one or more non-production environments (staging, dev, QA, preview-something) inside the same project. Each environment runs independent apps, databases, env vars, and custom domains.

Prerequisites:

  • A project on Dev tier or higher. Hobby is prod-only.
  • The project already has its auto-created prod environment.
  1. Open the project detail page.
  2. Click + Add env in the environment selector next to the prod pill.
  3. Type a name (e.g. staging). Names are lowercase, 1–32 chars, [a-z0-9-]. The names prod, api, admin, auth, www are reserved.
  4. Click Create. A new env pill appears; you are switched to it automatically.
  5. From the staging env, create apps, databases, and env vars as usual. They are independent of prod. App and database caps (Max apps / Max DBs in your plan) are counted across all your projects and environments combined — adding a staging env does not double your app cap.
  6. Staging apps serve at {slug}-staging.run.uploy.eu (prod apps keep the bare {slug}.run.uploy.eu).
TierMax environments per project
Hobby1 (prod only)
Dev2
Pro3
Business3

Hitting the cap returns 402 tier_quota_exceeded in the dialog with an upgrade prompt.

Apps in non-prod environments run at half the CPU and memory request of prod. Limits are unchanged — an app can still burst to its full ceiling when needed. This keeps flat-tier pricing viable when running prod + staging + dev side-by-side. You do not need to configure anything; it is automatic.

  1. Remove all apps and databases from the environment first (otherwise you’ll get 409 env_not_empty).
  2. On the env settings panel, click Delete.
  3. The k8s namespace is destroyed; the env row is removed.

Prod cannot be deleted. Delete the project if you want to start over.

  • No clone-from-prod on env create.
  • No project-level shared env vars — each env owns its full list.
  • No env rename — delete + recreate.
  • No cross-env DB attach — an app in staging cannot attach to a DB in prod.
  • No env var reference syntax (${{ prod.API_URL }}).

These are tracked follow-ups.