Deployments
A deployment is one build-and-release of a project environment. Every push, manual deploy, or rollback creates a deployment you can inspect step by step, with live logs. Deployments are per environment, so each environment keeps its own history and its own rollback targets.
The pipeline
Each deployment runs a sequence of steps, surfaced live in the console:
- Clone - shallow-clone the repo at the environment's branch.
- Analyze - detect the framework, runtime, and port; generate a Dockerfile if the repo doesn't have one.
- Build - build the image in an isolated, resource-limited build sandbox, then store it for deploy and rollback.
- Deploy - run the new container with hardening, resource limits, env vars, and routing.
- Health check - verify the container comes up.
- Finalize - mark it live, supersede the previous deployment, and prune old images per your plan.
Zero-downtime cutover
Where capacity allows, a new deployment starts alongside the previous container and traffic is shifted to it once it is healthy, then the old one is drained and removed. If something fails before the new container is healthy, the previous deployment keeps serving - a failed deploy does not take your app down.
Live and historical logs
While a deployment runs, build and runtime logs stream live to the deployment page. Logs are retained afterward, so you can open a past deployment and read exactly what happened. Per-step output is kept separately, so you can tell a build failure from a runtime failure at a glance.
Rollback
Open any previous deployment and roll back to redeploy its image. If the image is still retained the rollback is instant; if it has been pruned, orkestr rebuilds it from source at that commit. Rollbacks are available on the Pro plan.
Image pruning and plans
- Free keeps the most recent image; Pro keeps more.
- Pruning runs after each successful deploy to reclaim disk.
- Rollback to a pruned image still works - it just rebuilds instead of redeploying instantly.
Build minutes
Every plan includes a monthly allowance of build time: 300 minutes on Starter and 2,000 on Pro, resetting on the 1st of each month. Only the Build step counts against it - cloning, deploying and health checks are not billed to you. Serverless function builds draw on the same allowance.
- We measure wall clock, so a faster build costs fewer minutes. Pro builds run on a larger build machine, so the same project uses less of a bigger allowance.
- A build that fails because of your code counts, since it still used a build machine. So does a build you replace with a newer push once it has started building - the machine was already working. A build that fails on our side, or that a newer push replaces before it starts building, does not.
- Each individual build is capped at 15 minutes on Starter and 30 on Pro.
- Your current usage is on the dashboard and on the billing page, and each deployment shows how long its build took.
Bandwidth
Every plan includes a monthly bandwidth allowance - 100 GB on Starter, 1 TB on Pro - measured as the data your apps actually send to visitors, and reset on the 1st of each month. You can see the running total on your dashboard and on the billing page.
Triggering a deploy
- Push to a branch mapped to an environment (auto-deploy).
- Manual deploy from the console.
- API / CLI for CI pipelines and scripts.
FAQ
Will a failed deploy take my site down?
No. The previous deployment keeps serving until the new one is healthy.
How far back can I roll back?
To any retained image instantly, or to any past commit by rebuilding from source.
Do failed builds use my build minutes?
A build that fails on your code does, because it still ran on a build machine. So does one you supersede with a newer push after the build has started. Only a build that never reached the build step - superseded while still cloning, or stopped by a failure on our side - is free.
Where are build logs vs app logs?
Build and deploy logs live on the deployment; ongoing runtime logs live under Monitoring.