Releases & rollback
Every deploy, env change, volume or database attach, and rollback creates a numbered release with the exact image and config it ran.
aloof releases api v4 failed 2026-10-13 09:12 deploy ghcr.io/me/api:1.5 v3 active 2026-10-13 09:02 config change ghcr.io/me/api:1.4 aloof rollback api # previous release aloof rollback api 2 # a specific one
Zero-downtime deploys: new instances start next to the old ones and must pass readiness (your HTTP health path, or any HTTP response) before traffic moves and the old ones stop. If a new instance fails readiness, it's removed, the release is marked failed, and the previous release keeps serving. Apps with a volume are single-writer, so their old instance stops first and there is a short gap.
Rollback redeploys an earlier release's image, env, plan, port, command, scale and health settings, without a rebuild (git builds are tagged per release; the last 20 images are kept). Volumes, database attachments and domains stay as they are now. Also available as POST /v1/apps/{name}/rollback, the rollback_app MCP tool, and Dashboard → app → Releases.