Simulploy is a command-line tool designed to manage several docker compose files. In big projects that rely on complex docker environments, it is common to have multiple docker-compose files that define different services. Simulploy simplifies the process of managing these environments by providing a single interface to start, stop, and clean up Docker environments.
The main use case is being able to deploy docker containers anywhere in the terminal without having to navigate to the directory containing the docker-compose files.
Clone the repository and navigate to the directory containing Simulploy:
git clone https://github.com/your-repo/simulploy.git
cd simulploy
Build and install the tool:
go build -o simulploy
Add simulploy in your PATH to use anywhere in the terminal.
Simulploy uses a configuration file named .simulploy.yaml
located in the user's home directory. This file contains essential settings that define how Simulploy interacts with Docker environments.
Here is an example
filepath: C:\Users\penat\.simulploy.yaml
docker_dir: D:\Home\repos\docker-configs\docker-compose
project_root: D:\Home\repos\simulploy
docker_network: "NOT YET IMPLEMENTED"
metaservices:
- postgres
- chatbot
- envoy
Create the .simulploy.yaml
file in your home directory:
~/.simulploy.yaml
simulploy [command]
Available Commands:
clean Delete Docker images for the profile
completion Generate completion script for Zsh
db Database operations
down Compose down the Docker environments
help Help about any command
simulConfig Configure the CLI
up Bring up Docker environments
Flags:
-D, --dev development build
-h, --help help for simulploy
-m, --metaservice string choose a metaservice
-P, --prod production build
-p, --profile string profile to use (default "development")
Use "simulploy [command] --help" for more information about a command.
clean
: Deletes Docker images associated with the specified profile.completion
: Generates a completion script for the Zsh shell.db
: Performs database operations.down
: Shuts down Docker environments specified in the profile.help
: Provides help information about any command.simulConfig
: Configures various aspects of the CLI tool.up
: Starts up Docker environments according to the specified profile.
-h, --help
: Displays help information for Simulploy.-m, --metaservice string
: Specifies a metaservice to target.-p, --profile string
: Sets the profile to use (default is "development").
Start Docker environments:
simulploy up --metaservice postgres --dev
Clean Docker images for a profile:
simulploy clean -m chatbot --prod
Configure Simulploy by using the simulConfig
command:
simulploy simulConfig --set key=value
For more information or to request help, join the discord and go to #simulploy
Contributions are welcome! Please fork the repository and submit a pull request.