laracoper/docker-compose-hero

Красивый CLI-визуализатор сетей и инспектор портов для Docker Compose

Maintainers

Package info

github.com/Laracoper/hero

Type:project

pkg:composer/laracoper/docker-compose-hero

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.2.1 2026-06-10 13:43 UTC

This package is auto-updated.

Last update: 2026-06-10 13:44:45 UTC


README

Latest Stable Version Total Downloads License

Docker Compose Hero — это легкая и мощная CLI-утилита на чистом PHP, которая превращает скучные файлы конфигурации docker-compose.yml в наглядные интерактивные сетевые карты прямо в вашем терминале. Кроме того, она выступает в роли умного линтера, проверяя порты компьютера на конфликты до запуска контейнеров.

🔥 Возможности

  • 🗺️ ASCII Сетевая Карта: Визуализирует структуру ваших контейнеров, проброшенные порты и зависимости (depends_on) красивыми стрелочками.
  • 🔎 Двойной Инспектор Портов:
    • Внутренние конфликты: Находит ошибки дублирования портов хоста внутри самого файла (например, если два разных сервиса случайно пытаются занять порт 3000).
    • Внешние конфликты: Проверяет порты вашего ПК через сетевые сокеты и предупреждает, если порт уже занят другой запущенной утилитой или старым контейнером.
  • 🎨 Сочный CLI Интерфейс: Использует стандартизированную цветовую палитру ANSI/Bash для идеальной читаемости логов.

🚀 Установка

Установите утилиту глобально в систему с помощью Composer:

composer global require laracoper/docker-compose-hero

Настройка быстрого вызова (для Linux/WSL/Mac)

Чтобы запускать утилиту одним коротким словом hero, добавьте синоним (alias) в конфигурационный файл вашего терминала:

echo "alias hero='~/.config/composer/vendor/bin/hero.php'" >> ~/.bashrc && source ~/.bashrc

🛠️ Использование

Просто перейдите в папку любого вашего проекта, где находится файл docker-compose.yml, и введите:

hero

Пример успешного вывода:

=== 🗺️ СЕТЕВАЯ КАРТА ПРОЕКТА DOCKER COMPOSE ===

[ frontend   ] ──(хост:8080 ➔ конт:80)
    └───➔ api-gateway

[ api-gateway ] ──(хост:3000 ➔ конт:3000)
    └───➔ mongodb

[ mongodb    ] ──(хост:27017 ➔ конт:27017)
==============================================

✅ Проверка портов пройдена! Конфликтов не обнаружено.

Пример вывода при ошибке дублирования портов:

⚠️ ВНИМАНИЕ! ОБНАРУЖЕНЫ КОНФЛИКТЫ ПОРТОВ:
 • Ошибка дублирования: Сервисы [grafana] и [api-gateway] одновременно используют один порт хоста 3000!

👉 Рекомендация: Измените порты хоста в вашем файле конфигурации, чтобы они не пересекались.

⚙️ Требования

  • PHP >= 8.0 (с поддержкой CLI)
  • Установленный в системе Composer

📄 Лицензия

Проект распространяется под свободной лицензией MIT. Вы можете использовать, модифицировать и дополнять его без ограничений.

Разработано с душой для разработчиков. Автор: Laracoper 🚀