Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 19 days 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 (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-17T17:44:32.000Z (3 months ago)
- Last Synced: 2024-08-18T18:55:38.683Z (3 months ago)
- Topics: cli, compose, developer-tools, development, docker, docker-compose-files, helper-tool, rust
- Language: Rust
- Homepage:
- Size: 515 KB
- Stars: 15
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-docker - dctl - dctl is a Cli tool that helps developers by allowing them to execute all docker compose commands anywhere in the terminal, and more. By [FabienD](https://github.com/FabienD) (Container Operations / User Interface)
README
[![Github Actions](https://github.com/FabienD/docker-stack/actions/workflows/dctl_cli.yml/badge.svg)](https://github.com/FabienD/docker-stack/actions)
[![GitHub release](https://img.shields.io/github/release/FabienD/docker-stack.svg)](https://github.com/FabienD/docker-stack/releases)
[![Codecov](https://codecov.io/github/FabienD/docker-stack/branch/main/graph/badge.svg?token=IH5NLYP8K4)](https://codecov.io/github/FabienD/docker-stack)
[![dependency status](https://deps.rs/repo/github/FabienD/docker-stack/status.svg?path=cli)](https://deps.rs/repo/github/FabienD/docker-stack?path=cli)
[![GitHub license](https://img.shields.io/github/license/FabienD/docker-stack.svg)](https://github.com/FabienD/docker-stack/blob/main/LICENSE)# The docker Stack
This project is composed of a collection of usefull docker-compose files for web developpers. We also provide a standalone Cli tool to manage a list of docker compose files registered in a config.
[**Cli tool**](doc/dctl.md) and [**compose files collection**](doc/collection.md) are independants, you can use cli without the compose files and vice versa.
## Documentation
- Manage your local docker compose projects easilly with [the cli tool : dctl](doc/dctl.md)
- Your local stack for web development. [A collection of docker-compose files](doc/collection.md)- The project [change log](CHANGELOG.md)
## "dctl" cli vs "docker compose" ?
With **dctl**, we relies on **a config file**, no need to have started or stopped containers of a docker-compose file to see and manage them, they are known. dctl use docker compose internaly, it's a wrapper around docker compose, so you can use all docker compose commands and arguments.
[![asciicast](https://asciinema.org/a/7VwsLtJmxzZ2HCkbim3kUQ21e.svg)](https://asciinema.org/a/7VwsLtJmxzZ2HCkbim3kUQ21e)
The cli can "manage" multiple docker-compose files (start, stop, down, restart, build and more) from **everywhere in your terminal**. With this tool, you can **avoid declaring multiple aliases** in your shell, and you can use the same command to start/stop/restart/ and so on for all your projects. The cli offers an **easy way to override default docker-compose** file for a project, you can also define **default arguments for all docker-compose commands** to avoid repeating them in the command line.
[See more](doc/dctl.md)
## Roadmap / next steps
- [ ] Documentation - add examples of docker-compose files for local development.
### v1
- [x] ~~Build - Plublish the cli tool for multiples platforms (Windows, Mac, Linux), different architectures (x86, arm, arm64).~~
- [x] ~~Cli - improve check-config cli command, better presentation.~~
- [x] ~~Documentation - give cli examples, screenshots.~~
- [ ] Cli - Add a "dctl" command to register/update a project using docker-compose.yml file.
- [ ] Cli - Add a "dctl" command to unregister a project using docker-compose.yaml file.
- [ ] Default arguments - make it disablable by specifying a special argument.
- [ ] Default arguments - by project.
- [ ] Default arguments - clever merge default arguments with the ones specified in the command line.### v2
- [ ] Re-implement docker compose using Docker API instead of rely on "docker compose" plugin.
## Contributing
Contributions are welcome, feel free to open an issue or a pull request.