Build Engines
How Vessl turns your repo into a container — Railpack, Nixpacks, or your own Dockerfile — and how to switch between them.
Deploy from a Container Image
Run an app directly from a container-registry image (GHCR, Docker Hub, or a private registry) — no source build.
Auto-deploy on Push
Set up automatic deployments on every git push, and reconnect GitHub if the integration breaks.
Preview / PR Environments
Automatically deploy an isolated environment for every open pull request, with its own URL.
Wait for CI before Deploy
Hold each auto-deploy until GitHub reports the commit's checks green, so a failing commit never ships.
Rollbacks
Roll back to a previous deployment if something goes wrong in production.
Build Args & Custom Build Command
Pass build-time arguments to your Dockerfile, or override the default Nixpacks build command.
Monorepos & Root Directory
Deploy a specific subfolder from a monorepo by setting the Root Directory field.
Deploy Webhooks
Trigger external services when your app deploys, starts, or stops.
Dockerfile Builds
Use your own Dockerfile to build and deploy on Vessl.
Build Cache
How Vessl caches build layers to speed up deploys, and what to do when the cache needs to be cleared.
Health Checks & Post-deploy Commands
Configure how Vessl validates your app before going live, and run commands automatically after each deploy.
Memory & Resources
How CPU and memory limits work on Vessl, why deploys fail with "exit 137" (out of memory), and how to size your app.
Auto-recovery & self-healing
How Vessl automatically brings your apps and add-on services back when a container is lost, the one-click Recover Server action, and the alerts that tell you when something is down.
Troubleshooting deploys
The common ways a deploy fails on Vessl and how to fix each — git auth, build, runtime version, health checks, start commands, and more.