#docker-compose #docker #up #multiple #directory #yaml #command-line-tool

bin+lib dock_sprout

Rust CLI tool to bring up or down multiple docker-compose files from a parent directory

2 stable releases

new 1.0.1 Feb 2, 2025
1.0.0 Jan 31, 2025

#2159 in Command line utilities

22 downloads per month

MIT license

13KB
147 lines

DockSprout 🌱🐳

A simple CLI tool to bring up Docker containers from multiple docker-compose.yml files in subdirectories.


📌 Features

  • Scans a central directory for docker-compose.yml files.
  • Recursively searches subdirectories for Docker Compose projects.
  • Automatically brings up (or down) all discovered containers using docker compose.
  • Use a .sprout-ignorefile to ignore certain directories of containers you don't want brought up.
  • A lightweight and convenient automation tool for managing multiple Docker services.

🛠 Installation

  1. Install Rust toolchain https://www.rust-lang.org/tools/install
  2. Run cargo install dock_sprout

🔹 Build from Source

git clone https://github.com/Thompson-Jason/DockSprout.git
cd DockSprout
cargo build --release

🚀 Usage

sprout <root-directory> <docker-compose-direction>

🔹 Example:

sprout ~/my-docker-projects up

─── my-docker-projects
    ├── LubeLogger/
    │   └── docker-compose.yml
    ├── ntfy/
    │   └── docker-compose.yaml
    ├── Portainer/
    │    ├── docker-compose.yaml
    │    └──.conf
    └── .sprout-ignore

This will bring up all three containers separately allowing for the esability of one command to bring all of your containers up and none of the downsides of a mono compose file.

Dependencies

~8–16MB
~211K SLoC