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

  1. Triggerownstack deploy, the dashboard's Deploy now button, or a webhook from GitHub on push.
  2. Enqueue — the control plane creates one deployment job per target stack and hands them to the deploy worker.
  3. 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.
  4. Release — the buildpack's release task runs (e.g. bundle exec rails db:migrate). If it fails, the deployment fails and the previous version keeps serving.
  5. Restart — dokku starts the new container, runs healthchecks, then rotates traffic.
  6. Post-deploy — the postdeploy script in app.json runs (typically a one-time seed task).

Two ways to deploy

MethodWhen to use
Git pushThe default. Buildpack or Dockerfile build happens on the stack from your repo. Source of truth: the SHA on your branch.
Image deployPre-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.