Introduction
EMB (Enspirit’s Monorepo Builder) is a CLI tool for managing Docker-based monorepos. It provides a unified interface for:
- Building and managing Docker images
- Running services via Docker Compose
- Executing tasks across components
- Managing Kubernetes deployments
Why EMB?
Section titled “Why EMB?”If you’re managing a monorepo with multiple Docker services, you’ve probably encountered:
- Complex Makefiles that become unmaintainable
- Inconsistent workflows across different services
- Manual dependency tracking between images
- Repetitive docker-compose commands
EMB solves these problems by:
- Auto-discovering components - Any folder with a
Dockerfilebecomes a buildable component - Managing dependencies - Builds images in the right order automatically
- Providing consistent commands -
emb up,emb logs,emb runwork across all projects - Supporting flavors - Different configurations for development, staging, production
Quick Example
Section titled “Quick Example”In a monorepo with this structure:
my-project/├── api/│ └── Dockerfile├── web/│ └── Dockerfile└── docker-compose.ymlEMB automatically discovers the components:
emb componentsAnd provides commands to run them:
emb up # Build resources and start all servicesemb logs api # View API logsemb run api:test # Run the test task in apiNote: emb up automatically builds all required resources (Docker images, files) before starting services, regardless of which flavor is being used.
Ready to get started? Install EMB then head to the Tutorials.