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/dev.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)

Secrets

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

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