Block System
Blocks are reusable package specifications that define how to install and run a service. They are the fundamental building unit in Stackie — similar in concept to Docker images, but lighter and integrated with your OS package manager.
What a Block Contains
Each block specifies:
- Packages to install (e.g., PostgreSQL binaries, Node.js runtime)
- Configuration files and templates
- Startup commands and health checks
- Port declarations for network access
- Volume mounts for persistent data
- Dependencies on other blocks
Listing Available Blocks
# List installed blocks
stackie blocks
# Search for a block by name or description
stackie search postgres
Using Blocks in a Stack
Blocks are referenced by name in your stackie-stack.yml:
my-project:
blocks:
stackie.postgres:
serves:
PORT: { port: 5432, type: db }
stackie.redis: {}