Stack Format

A stack is a YAML file that composes multiple blocks into a working environment. Running stackie up reads the stack file, resolves dependencies, allocates ports, injects secrets, and starts every block in the correct order.

Minimal Stack File

# stackie-stack.yml
my-project:
  blocks:
    stackie.postgres: {}
    stackie.redis: {}

Starting a Stack

# Start the stack defined in the current directory
stackie up

# Start a specific stack file
stackie up -f stacks/local.yml

# Stop all running blocks
stackie down

Stack Discovery

When you run stackie up without -f, Stackie looks for a stack file in this order:

  1. stackie-stack.yml / stackie-stack.yaml
  2. stackie.yml / stackie.yaml
  3. docker-compose.yml / docker-compose.yaml / compose.yml / compose.yaml (compatibility mode)

Dashboard Editing

The dashboard stack designer edits the same YAML format. Use Validate to check the current buffer, Save to write a file-backed definition, or Create Copy when the source is a built-in catalog stack. Catalog stacks are protected from direct edits; the editable copy defaults to the project root unless you choose another project-local path.

The visual designer is a WYSIWYG view over blocks, depends_on, consumes, and named serves ports. Dragging blocks from the catalog adds YAML block entries. Connecting compatible ports updates depends_on or consumes.block_override as needed. Property panels expose common stack, block, and connection fields while keeping the YAML editor available for advanced edits.

Manual node positions are not runtime stack semantics. Stackie stores them in .stackie/stack-designer-project.json alongside the active stack path, so layout survives dashboard reloads without affecting stackie up.

Secrets

Place a companion secrets file next to your stack file (e.g. local.secrets.yml alongside local.yml). Stackie loads it automatically and makes the values available via ${secrets.KEY} references in your block configuration.

# local.secrets.yml
secrets:
  DB_PASSWORD: "local-dev-password"
  API_KEY: "sk-test-abc123"