Deployments
A deployment is one execution of ownstack deploy for a single app on a single stack. If your app deploys to three stacks, one ownstack deploy produces three deployments — one per stack — and they run in parallel.
Lifecycle of a deployment
- Trigger —
ownstack deploy, the dashboard's Deploy now button, or a webhook from GitHub on push. - Enqueue — the control plane creates one deployment job per target stack and hands them to the deploy worker.
- Build — the worker SSHes to the stack and pushes your repo to the stack's dokku endpoint. Dokku runs the buildpack (or Dockerfile) and builds an image. Build logs stream back.
- Release — the buildpack's
releasetask runs (e.g.bundle exec rails db:migrate). If it fails, the deployment fails and the previous version keeps serving. - Restart — dokku starts the new container, runs healthchecks, then rotates traffic.
- Post-deploy — the
postdeployscript inapp.jsonruns (typically a one-time seed task).
Two ways to deploy
| Method | When to use |
|---|---|
| Git push | The default. Buildpack or Dockerfile build happens on the stack from your repo. Source of truth: the SHA on your branch. |
| Image deploy | Pre-built Docker image from a registry. Faster, lets you build in CI; the stack just pulls and runs. Source of truth: the image tag. |
Where to see them
$ ownstack app info <app>
Stack: prod — deployed abc1234
$ ownstack remote deploy-log [--deployment=ID] # build log
$ ownstack remote logs --tail 200 # runtime logs
The dashboard's Deployments tab lists everything across all stacks with status, SHA, and links to logs. Failed deployments include the build log so you can debug without retrying.
Multi-stack
An app on multiple stacks runs deploys in parallel. One stack can fail while others succeed — the dashboard shows mixed status. See Multi-stack deploys.
Rollback
A rollback is just another deployment with an older SHA. See Rollback.
Pipelines
For staging → production flows, OwnStack supports pipelines: an app can have stages, and a deploy promotes between them. See Pipelines.
Read next
- Git deploys
- Build types — buildpack vs Dockerfile.
- When deploys fail