DStack is a handy Bash tool that simplifies managing multiple Docker Compose projects without the hassle of changing directories. Run Docker Compose commands from any location in the terminal, enjoy auto-discovery of projects, and use named stacks for effortless project handling. It's designed to enhance developer productivity while maintaining a lightweight footprint.
DStack: Simplified Docker Compose Management
DStack is a lightweight Bash tool designed to simplify managing multiple Docker Compose projects from anywhere in the terminal.
When working with many Compose-based services, a common source of friction is remembering where each project lives and repeatedly changing directories just to run Docker Compose commands. DStack removes this friction by letting you reference projects by name and by resolving the correct Docker Compose context automatically.
Think of it as Docker Desktop–style convenience for Docker Compose, without a graphical interface.
Who is it for?
DStack is designed for developers and operators who:
- Manage multiple Docker Compose projects
- Work on servers, over SSH, or in homelabs
- Are tired of
cd+docker composeloops - Prefer lightweight, inspectable CLI tools over GUIs
How it works
DStack does not replace Docker Compose or introduce a new abstraction layer. Instead, it acts as a thin wrapper that:
- Resolves the correct Compose project context
- Forwards all commands directly to Docker Compose
- Keeps behavior predictable and transparent
Projects can be managed in two ways:
- Auto-discovery in common directories
- Explicit registration from any path
Once discovered or registered, stacks can be managed from any directory.
Key features
- Run Docker Compose commands from any directory
- Named stacks (e.g. dcompose myproject, ddown website)
- Auto-discovery of projects in common locations
- Register Compose projects from arbitrary paths
- Optional active stack context (dstack
) - Clear, UX-focused error messages
- No dependencies beyond Docker, Bash, and standard POSIX tools
- Well suited for servers and SSH environments
Example usage
# list available stacks
dstack
# compose a stack from anywhere
dcompose myproject
# follow logs without changing directories
dlogs myproject
Command Overview
DStack includes a range of helpful commands for effective management:
| Command | Description |
|---|---|
dhelp | List available commands |
dstack | List registered stacks |
dstack add <name> <path> | Register a new stack |
dcompose [stack] | Build and start specified stack |
ddown [stack] | Stop and remove containers |
dlogs [stack] | Follow logs for the stack |
dexec [stack] <service> | Exec into a specified container |
Platform support
- Linux: fully supported
- macOS: supported (bash, zsh, fish)
- Windows: supported via WSL or Git Bash (PowerShell and CMD are not supported)
Philosophy
DStack is intentionally small and focused. It aims to reduce everyday friction when working with Docker Compose by staying terminal-first, transparent, and easy to reason about.
For installation instructions, advanced configuration, and full documentation, refer to the project repository.
No comments yet.
Sign in to be the first to comment.