Welcome to OwnStack

OwnStack is a control plane for deploying apps onto stacks you own. Heroku-style ergonomics — git push, scale, add-ons, automatic SSL — on infrastructure that lives in your AWS account, your GCP project, or any host with SSH access.

Why OwnStack exists

Heroku is wonderful at the feel: deploy by pushing to a remote, scale by typing ps:scale worker=2, add a database with one command. But it bills per dyno and runs on someone else's hardware. The escape route — running dokku on your own server — gets you the engine, but you also inherit its quirks: app.json formation locks, password drift after dump-restores, multi-stack orchestration you have to script yourself.

OwnStack is the layer above dokku. It runs on your servers (or on managed hosts you provision through it), and it papers over the rough edges so the day-to-day workflow feels like Heroku again: a CLI, a UI, and one obvious way to do each thing.

The mental model

Five things to know:

ConceptWhat it is
Control planeCentral service (hosted at api.ownstack.org, or self-hosted) that holds your account, your stacks, your apps, and runs the deploy worker.
StackA server (or cluster) that runs your apps. Lives in your cloud account; OwnStack provisions it via SSH.
AppCode in a repo, a Procfile, environment variables, optional databases. Apps deploy to one or more stacks.
ProfileA saved control-plane endpoint plus an auth token. Switch profiles to talk to different control planes.
CLIownstack — the everyday driver for deploying, scaling, viewing logs, managing config.

What's next

If you want a deeper read, jump to Apps or Stacks next; the rest of the manual fans out from there.