Install the OwnStack CLI

The OwnStack CLI is a single compiled binary (no runtime, interpreter, or dependencies to install). macOS and Linux are first-class on both Intel and Apple Silicon / ARM; Windows users should run it under WSL.

Install

The recommended install is a one-liner. It detects your OS and architecture, downloads the matching binary plus its runtime assets to ~/.ownstack/cli, and symlinks ownstack onto your PATH:

$ curl -fsSL https://ownstack.org/install.sh | bash

Or with Homebrew (macOS / Linux):

$ brew install ownstack-org/tap/ownstack

Verify the install:

$ ownstack --version
ownstack 2026.7.24.1
Updating

Re-run the install one-liner to upgrade, or brew upgrade ownstack if you installed via Homebrew.

Pick a control plane

The CLI talks to a control plane. By default that's the hosted one at https://api.ownstack.org. If you're self-hosting, point at your own URL when you log in.

$ ownstack login                                      # hosted
$ ownstack login --api=https://api.example.com        # self-hosted

Login opens a browser, completes the OAuth flow, and writes the resulting token to ~/.ownstack/profiles/<name>.

Profiles

Each control-plane endpoint is a profile. Run multiple at once if you have a hosted account and a self-hosted instance, or one profile per organization.

$ ownstack profile list
  budbooks
* haven (active)
  ownstack

$ ownstack profile show
API URL: https://api.ownstack.org
Active profile: ownstack
Token: 9242e4bc…

$ ownstack profile use haven
Always check before state-changing commands

The CLI does not warn you when deploy, db, or ssh would run against the wrong profile. Run ownstack profile show first if you've been switching contexts.

Where things live

PathWhat's there
~/bin/ownstackThe CLI executable.
~/.ownstack/cli/Helper libraries (lib/db.sh, lib/control_plane.sh, etc.).
~/.ownstack/profiles/<name>One file per profile, holding API URL and token.
~/.ownstack/configGlobal config (active profile, defaults).
./.ownstack-configPer-repo: links the local checkout to a specific app on the active control plane.

Next

You're ready to deploy your first app.