PHPackages                             hut6/docker-cli-utils - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. hut6/docker-cli-utils

ActiveLibrary[CLI &amp; Console](/categories/cli)

hut6/docker-cli-utils
=====================

HutSix Docker Utilities

1.1.3(4y ago)13.7k[1 PRs](https://github.com/hut6/docker-cli-utils/pulls)proprietaryPHPCI failing

Since Feb 19Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/hut6/docker-cli-utils)[ Packagist](https://packagist.org/packages/hut6/docker-cli-utils)[ RSS](/packages/hut6-docker-cli-utils/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (6)Versions (22)Used By (0)

hut6/docker-cli-utils
=====================

[](#hut6docker-cli-utils)

Utilities to help with docker deployments

Prerequisites
-------------

[](#prerequisites)

```
composer req --dev hut6/docker-cli-utils
composer req --dev hut6/tag-release
composer req --dev deployer/dist

```

You will need to create a `deploy/deployer-hosts.yml` inventory file (as per Deployer ) and list all the hosts used for deployments.

A `VERSION` file is also required. Version increments can be managed with the `tag-release` script. The `VERSION` file is only required when pushing secrets to 1Password scripts because the title of the entry in 1Password will include the version in it. It is not used for anything else.

You will also need a custom deployer recipe, Dockerbuild file, and at least one Docker Compose file for each project. Example files are available at

Building
--------

[](#building)

```
bin/build master                                   # branch name
bin/build branch_name                              # branch name
bin/build 1.0.0                                    # tag
bin/build 042f86676a45                             # short hash
bin/build 2ba2014b133ad9feda8fc0c5843dd8dcbf2a8c00 # long hash

```

The image name will be determined using the git remote; if the remote is `git@github.com:hut6/docker-cli-utils.git` then the docker image will be called `hut6/docker-cli-utils`.

The command argument determines which commit is checked out, it can be a branch name, a tag, or a hash.

The argument will also be used as the tag for the Docker image. If building `bin/build branch_name`, then it will be tagged like this `hut6/docker-cli-utils:branch_name`. Another example would be `bin/build 1.0.0` =&gt; `hut6/docker-cli-utils:1.0.0`.

When building the image, the local files are not used, the remote is used; changes need to be pushed to the remote before the image can be built.

Pushing
-------

[](#pushing)

Same as above. `bin/push branch_name` will push `hut6/docker-cli-utils:branch_name` to DockerHub. The image needs to exist locally (ie needs to have been built).

Deploying
---------

[](#deploying)

For each host, specify the Docker Compose file like this: `compose_file: production.yml`

```
bin/deploy branch_name production

```

First argument is the tag (as per build and push process) and second argument the host, as per the `deploy/deployer-hosts.yml` file. This will deploy `hut6/docker-cli-utils:branch_name` on the `production` host.

The image needs to exist on DockerHub.

Secrets Management
------------------

[](#secrets-management)

You'll need the 1Password CLI client `op` for push/pull.

Install it from

#### Required files &amp; directories

[](#required-files--directories)

You'll need to create a `/secrets` directory which will contain a `environment.env` file for each of your deployment environments, eg `production.env`, or `staging.env`

Use the `deploy/deployer-hosts.yml` inventory file to specify which entry in 1Password should be used for each hosts, using the `secrets_uuid` key.

#### Pushing to 1Password

[](#pushing-to-1password)

To push your file from the secrets directory to 1Password, run the following command.

```
bin/secrets push production

```

Replace production with the right host key, as per your `deploy/deployer-hosts.yml` file.

The first time you run this command, it will ask you which vault needs to be used.

The same command can be used to update the entry in 1password after you make changes to production secrets file.

#### Pulling from 1Password

[](#pulling-from-1password)

This will pull the secrets file from 1password, using the UUID specified in `deploy/deployer-hosts.yml`, and add it to the secrets directory.

```
bin/secrets pull production

```

#### Updating the docker secrets

[](#updating-the-docker-secrets)

This will load the secrets (from the secrets directory) into the docker daemon for the specified host. Containers likely will need restarting, and this command doesn't do this.

```
bin/secrets load production

```

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance54

Moderate activity, may be stable

Popularity20

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 60.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Recently: every ~143 days

Total

20

Last Release

1594d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/460baa6839f81a2f231499f1eb8c723ceb147d795c26c17a7ea77feca4664535?d=identicon)[johandouma](/maintainers/johandouma)

---

Top Contributors

[![LukeMcDonnell](https://avatars.githubusercontent.com/u/15354254?v=4)](https://github.com/LukeMcDonnell "LukeMcDonnell (29 commits)")[![johandouma](https://avatars.githubusercontent.com/u/9311?v=4)](https://github.com/johandouma "johandouma (16 commits)")[![hutsixteam](https://avatars.githubusercontent.com/u/101154436?v=4)](https://github.com/hutsixteam "hutsixteam (2 commits)")[![zyrahb](https://avatars.githubusercontent.com/u/7220388?v=4)](https://github.com/zyrahb "zyrahb (1 commits)")

### Embed Badge

![Health badge](/badges/hut6-docker-cli-utils/health.svg)

```
[![Health](https://phpackages.com/badges/hut6-docker-cli-utils/health.svg)](https://phpackages.com/packages/hut6-docker-cli-utils)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[crunzphp/crunz

Schedule your tasks right from the code.

2292.0M6](/packages/crunzphp-crunz)[crazywhalecc/static-php-cli

Build single static PHP binary, with PHP project together, with popular extensions included.

1.8k13.9k](/packages/crazywhalecc-static-php-cli)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
