ADR 0019 โ Start as a stack-wide operation
Status: accepted.
Context
After a Stop, the only way to bring a stack's containers back was Up,
which can also recreate them from the Compose file and local images. Docker
Compose offers start for exactly this: start existing (stopped) containers
without creating or recreating anything.
Decision
- Add
startto the fixed operation allow-list (up,pull,stop,restart,down,pull-up,start). Stack-wide only in V1: no per-service selection (see ADR 0021). - Provider call
start(target)runscompose startthrough the existingmutation()helper: explicit--project-directoryand-f, plus-pwhen the project is known. No user-supplied option. startnever creates: an undeployed stack is refused like the other destructive actions (createsstaysup/pull-up/pull). It requires a resolved project, likestop/restart/down.- Same machinery as every operation: per-stack lock, detached run, success
only on exit 0, SSE observation, CSRF/session/Origin, activity log
(
operationevent withaction=start).
Not decided here
- Per-service start (with per-service restart/up, ADR 0021).
create(compose create) without starting: no demonstrated need.
Consequences
- The Actions card offers
Starton deployed stacks (running/stopped), not onnot-createdand never onunknown. Upremains the only action that creates containers or applies file changes; its help text says so.