https://github.com/fabiend/docker-stack
A pre-configured docker-compose files collection helping web developers. Additional Cli to manage registered compose files from everywhere in the terminal.
https://github.com/fabiend/docker-stack
cli compose developer-tools development docker docker-compose-files helper-tool rust
Last synced: 3 months ago
JSON representation
A pre-configured docker-compose files collection helping web developers. Additional Cli to manage registered compose files from everywhere in the terminal.
- Host: GitHub
- URL: https://github.com/fabiend/docker-stack
- Owner: FabienD
- License: gpl-3.0
- Created: 2022-05-16T07:45:04.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-09T14:48:01.000Z (over 1 year ago)
- Last Synced: 2025-04-30T14:27:40.736Z (about 1 year ago)
- Topics: cli, compose, developer-tools, development, docker, docker-compose-files, helper-tool, rust
- Language: Rust
- Homepage:
- Size: 543 KB
- Stars: 20
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/FabienD/docker-stack/actions)
[](https://github.com/FabienD/docker-stack/releases)
[](https://codecov.io/github/FabienD/docker-stack)
[](https://deps.rs/repo/github/FabienD/docker-stack?path=cli)
[](https://github.com/FabienD/docker-stack/blob/main/LICENSE)
# Docker Stack
**Docker Stack** is a developer-oriented project that provides:
- **A powerful CLI tool (`dctl`)**: A drop-in replacement for Docker Compose, with extra features and improved usability.
- **A curated collection of Docker Compose files**: Ready-to-use configurations for a complete local development stack.
You can use the CLI and the compose files independently or together, depending on your needs.
---
## Overview
- **[CLI Tool Documentation](doc/dctl.md):** Manage your local Docker Compose projects more easily with `dctl`.
- **[Compose Files Collection](doc/collection.md):** Quickly set up a local web development stack with pre-configured services.
- **[Changelog](CHANGELOG.md):** See what's new.
---
## Why use `dctl` instead of `docker compose`?
- No need to be in your project folder.
- Uses the same commands and arguments as Docker Compose—no new learning curve.
- Manage multiple projects from anywhere in your terminal.
- Easily override default compose files and set default arguments for all commands.
[](https://asciinema.org/a/7VwsLtJmxzZ2HCkbim3kUQ21e)
With `dctl`, you can start, stop, restart, build, and manage multiple Docker Compose projects from anywhere, without the need for custom shell aliases. The CLI also allows you to define default arguments and override compose files per project.
---
## Roadmap
- [ ] Add more documentation and examples for local development.
- [ ] Make default arguments optional and project-specific.
- [ ] Improve merging of default and command-line arguments.
### v1
- [x] Publish the CLI tool for multiple platforms (Windows, Mac, Linux) and architectures (x86, arm, arm64).
- [x] Improve the `check-config` command.
- [x] Add CLI examples and screenshots.
### v2
- [x] Refactor the CLI tool for better architecture and code quality.
- [x] Declarative argument system with type validation.
- [x] Full `exec`/`run` command support with command arguments.
- [x] 65% code reduction through declarative definitions.
- [x] All 24 commands verified against Docker Compose documentation.
- [x] `register`/`unregister` commands to manage projects from CLI.
- [x] YAML validation in `check-config` with `--validate` flag.
- [x] Parallel execution for `infos` command.
---
## Contributing
Contributions are welcome! Feel free to open an issue or a pull request.
---
## License
This project is licensed under the [MIT License](LICENSE).