# docker-compose-helper

> Helper for docker-compose

Latest version **1.1.1** (published 2022-03-24) · ISC license · 0 weekly downloads

## Install

```sh
npm install docker-compose-helper
pnpm add docker-compose-helper
yarn add docker-compose-helper
bun add docker-compose-helper
```

Provides the command `dch`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2022-03-24 |
| First published | 2021-10-18 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 9.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | unsigned6 |
| Maintainers | unsigned6 |
| Keywords | docker, cli |

## Links

- npm: https://www.npmjs.com/package/docker-compose-helper
- Repository: https://github.com/unsigned6/docker-compose-helper
- Homepage: https://github.com/unsigned6/docker-compose-helper#readme
- Issues: https://github.com/unsigned6/docker-compose-helper/issues
- npm.io page: https://npm.io/package/docker-compose-helper

## Dependencies (5)

- [yaml](https://npm.io/package/yaml.md) ^1.10.2
- [colors](https://npm.io/package/colors.md) ^1.4.0
- [inquirer](https://npm.io/package/inquirer.md) ^8.1.5
- [inquirer-autocomplete-prompt](https://npm.io/package/inquirer-autocomplete-prompt.md) ^1.4.0
- [inquirer-checkbox-plus-prompt](https://npm.io/package/inquirer-checkbox-plus-prompt.md) ^1.0.1

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 1.1.1 (latest) — 2022-03-24
- 1.1.0 — 2022-03-24
- 1.0.1 — 2021-11-16
- 1.0.0 — 2021-10-18

## README

# Docker compose helper

Sometimes you have multiple services in your docker-compose configurations as well as multiple compose files. But for some cases you still need run only few services of many. And each time is needed to write huge command passing docker-compose files (`-f docker-compose.yml -f docker-compose.dev.yml`) and list of services then after command, which is exhausting and easy to make mistakes. This simple script make it a bit better experience. It analyzes compose file and provide interactive CLI to construct full command with files, services and commonly used docker-compose commands.

![Demo](https://raw.githubusercontent.com/unsigned6/docker-compose-runner/main/media/dch.gif)
## Installation

    npm i -g docker-compose-helper

## Usage

1. Go to directory where compose file is localed
2. Run command (currently supported commands up, down, stop, logs, build, ps, pull, rm):
    - passing it directly as argument 
        ```
        ➜  my_project ✗ dch up
        Used compose files: docker-compose.develop.yml, docker-compose.test.yml, docker-compose.yml
        ? Choose service (Press <space> to select, type name to search):
        ❯◯ backend
         ◯ certbot
         ◯ client
         ◯ influxdb
         ◯ minio
         ◯ mongodb
         ◯ mqtt
         ◯ mysql
         ◯ nginx
         ◯ rabbitmq
        (Move up and down to reveal more choices)
        ```
    - select command from list (use arrows or type to search):
        ```
        ➜  my_project ✗ dch
        Used compose files: docker-compose.develop.yml, docker-compose.test.yml, docker-compose.yml
        ? command: u
        ❯ up
          build
          pull
        ```
3. Select service (you cen type to search and use list as multi-select) and press enter to run command.

## Commands arguments

Some commands already include predefined arguments to make usage more robust. (e.g. `up` append also `--force-recreate` to have new container each time you want to up it and `-d` not to append service output).

| command   | arguments included |
|-----------|--------------------|
|`up`       | `-d --force-recreate`|
|`logs`     | `-f --tail 10`     |
|`rm`       | `-f -s`            |

# Docker commands

Also it is included ability to attach to container shell using `docker exec -it contaner_name bash` command. In commands list there two options `bash` and `sh`.

## Configuration

If you want use only some docker-compose files or set specific order, you can configure it creating `.dch.json` file in directory where compose files are located:

```JSON
{
    "composeFiles": [
        "docker-compose.yml",
        "docker-compose.develop.yml"
    ]
}
```

By default script will use all `yaml` files found in directory which has structure like to docker-compose files (has `services` and `version` section in tpp level).

---
_Source: https://npm.io/package/docker-compose-helper · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
