Deployments
Every git push to your configured branch triggers an automatic deployment.
Deploy triggers
Deployments are triggered by:
- Git push — pushing to your app's configured branch
- Manual redeploy — clicking Redeploy in the dashboard
- Configuration changes — updating environment variables or resource packages (requires a redeploy)
Build process
When you create an app, you choose one of two build modes:
Nixpacks
Nixpacks auto-detects your runtime and package manager, installs dependencies, and runs your build command. This is the easiest way to get started — no configuration needed for most projects. See Supported Runtimes for the list of auto-detected languages.
Dockerfile
If your repository contains a Dockerfile, you can select the Dockerfile build mode. Apply.Build builds and runs the image directly. This gives you full control over the build environment and is useful for custom setups or runtimes not supported by Nixpacks.
In both modes, Apply.Build clones your repository and you can watch the build logs in real time from your app's detail page.
Rollbacks
The last 5 deployments are listed on the right side of your app's detail view. From there you can:
- Rollback a previous successful deployment to restore it
- Rebuild a failed deployment to retry it
Rollbacks are fast because they reuse the previously built artifact.
Deployment status
Each deployment has one of these statuses:
| Status | Meaning |
|---|---|
| Pending | Waiting for a builder to become available |
| Building | Build is in progress |
| Deploying | Build succeeded, deploying to infrastructure |
| Active | Deployment is serving traffic |
| Failed | Build or deploy failed — check the logs |