Skip to main content

Stacks

A stack groups related applications that make up a single system — a web frontend, an API, a worker, a cache — so you can manage them together, compose-style, within a workspace.

A stack grouping several related applications

What a stack is

Many real systems are more than one process. A typical app might be a web service plus a background worker, talking to a database and a cache. A stack lets you treat those related applications as one logical group instead of a loose collection of separate apps. It's the Miabi equivalent of a Compose file: the pieces are defined together and belong together.

Each application in a stack is still a full Miabi application — it has its own releases, environment, scaling, and logs. The stack is the grouping that ties them together.

When to use a stack

Use a stack when several apps:

  • Belong to the same system — they're deployed, versioned, and reasoned about together.
  • Share configuration — they reference the same secrets and database credentials.
  • Depend on each other — a worker and the web app it supports, for example.

If an application is genuinely standalone, it doesn't need a stack — create it on its own.

ScenarioStack?
Web + API + worker for one productYes — group them
A self-contained marketing siteNo — standalone app
Two unrelated apps that happen to share a serverNo — keep separate
tip

Stacks pair naturally with Environments: promote a whole system from dev to staging to production as a unit, rather than moving each app one at a time.

note

A stack is a grouping within a single workspace. To isolate entirely separate projects or teams, use separate workspaces instead.