Git Product home page Git Product logo

simulploy's Introduction

Simulploy

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.

Installation

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.

Configuration File

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

Config File Setup

Create the .simulploy.yaml file in your home directory:

~/.simulploy.yaml

Usage

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.

Available Commands

  • 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.

Flags

  • -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").

Examples

Start Docker environments:

simulploy up --metaservice postgres --dev

Clean Docker images for a profile:

simulploy clean -m chatbot --prod

Configuration

Configure Simulploy by using the simulConfig command:

simulploy simulConfig --set key=value

Support

For more information or to request help, join the discord and go to #simulploy Discord

Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

simulploy's People

Contributors

simulshift avatar

Stargazers

Miho avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.