Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Dockhand: универсальный инструмент для управления Docker, заменяющий Portainer и Watchtower

Dockhand: универсальный инструмент для управления Docker, заменяющий Portainer и Watchtower

Поддержание работоспособности домашнего сервера часто требует одновременного запуска нескольких сервисов для надзора за инфраструктурой. Обычно это связка из Portainer для администрирования, Watchtower для автоматических обновлений и Uptime Kuma для мониторинга доступности. Однако существует

универсальный инструмент для управления Docker

, который объединяет ключевые функции этих систем в одном приложении — проект Dockhand. Он консолидирует рабочие процессы по развертыванию, отслеживанию ресурсов и уведомлениям о сбоях, минимизируя количество служебных контейнеров.

Реклама

В материале рассматриваются возможности Dockhand по управлению образами, сетями и томами, а также специфические функции безопасности, такие как предварительное сканирование образов на уязвимости перед обновлением. При этом автор первоисточника подчеркивает, что замена нескольких специализированных инструментов на один имеет свои нюансы, особенно в части глубокого мониторинга веб-сервисов.

Список активных контейнеров в Dockhand
Интерфейс просмотра и управления запущенными контейнерами.
Раздел обновлений контейнеров в Dockhand
Настройка и мониторинг обновлений образов.

Установка и базовая конфигурация Dockhand

Развертывание системы отличается простотой и не требует сложной предварительной настройки базы данных. По умолчанию Dockhand использует образ fnsys/dockhand:latest и работает через порт 3000. Важной особенностью является использование SQLite в качестве стандартной базы данных, что избавляет от необходимости запускать отдельный контейнер для хранения информации. Тем не менее, для более масштабируемых инсталляций предусмотрена поддержка PostgreSQL.

Просмотр логов в интерфейсе Dockhand
Просмотр системных логов в реальном времени через веб-интерфейс.
Управление томами данных Docker в Dockhand
Интерфейс администрирования Docker Volumes.

Конфигурация подразумевает монтирование Docker-сокета и создание тома для хранения постоянных данных в директории /app/data. В материале акцентируется внимание на безопасности: доступ к сокету Docker предоставляет Dockhand полный контроль над контейнерами хоста. Поскольку при первой установке аутентификация может быть отключена, настройка пароля должна стать приоритетной задачей. Разработчики рекомендуют использовать инструмент внутри частной сети или через VPN, избегая прямого открытия порта 3000 во внешнюю сеть.

Администрирование контейнеров и работа с логами

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

В отличие от простых панелей мониторинга, здесь встроены инструменты для глубокой отладки:

  • Интерактивный терминал, работающий прямо в браузере;
  • Встроенный файловый браузер для просмотра содержимого контейнеров;
  • Потоковая передача логов (streaming logs) в реальном времени.

Такой подход позволяет диагностировать проблемы в едином окне, избавляя от необходимости переключаться между SSH-сессиями и отдельными утилитами просмотра журналов. Это делает универсальный инструмент для управления Docker эффективным решением для оперативного вмешательства при сбоях сервисов.

Поддержка Docker Compose и Git-интеграция

Функциональность Dockhand не ограничивается манипуляциями с отдельными контейнерами. Система включает визуальный редактор Compose, позволяет развертывать стеки и использовать шаблоны. Особое внимание уделено интеграции с Git: поддерживаются деплои на основе репозиториев с автоматической синхронизацией по расписанию или через вебхуки. Также заявлена возможность импорта существующих стеков из других менеджеров управления, однако перед миграцией рекомендуется проверять пути хранения данных и создавать резервные копии файлов конфигурации.

Реклама

Автоматизация обновлений и механизм Safe-pull

Одной из ключевых функций, заменяющих Watchtower, является планировщик обновлений образов. Dockhand может проверять наличие новых версий и либо просто уведомлять о них, либо автоматически развертывать обновления. Настройки гибко распределяются: можно задать общее расписание для всей среды или индивидуальные графики (через cron) для конкретных приложений.

Разделение политики обновлений критически важно, так как базы данных и экспериментальные утилиты требуют разного уровня осторожности. Для повышения стабильности системы в Dockhand реализована технология Safe-pull. Процесс происходит следующим образом:

Веб-терминал Dockhand
Использование встроенного терминала для управления контейнерами.
Контейнеры с ожидающими обновлениями
Визуализация контейнеров, для которых найдены новые версии образов.
  1. Новый образ скачивается с временным тегом.
  2. Проводится автоматическое сканирование на наличие уязвимостей.
  3. Если количество найденных угроз превышает заданный порог безопасности, обновление отменяется, временный образ удаляется, а текущий контейнер продолжает работу без изменений.

Такой механизм значительно снижает риски внедрения небезопасного кода в рабочую среду при автоматических обновлениях.

Мониторинг ресурсов окружения в Dockhand
Экран состояния окружения с графиками потребления ресурсов.

Мониторинг ресурсов и система уведомлений

Для контроля за состоянием системы Dockhand выводит данные о потреблении ресурсов процессора (CPU) и оперативной памяти в реальном времени. Пользователь получает информацию о статусе контейнеров и журналы активности. В случае падения сервиса или успешного обновления система отправляет уведомления.

Благодаря интеграции с библиотекой Apprise, поддерживается широкий спектр каналов связи, включая:

  • Электронную почту и вебхуки;
  • Telegram и Discord;
  • Специализированные сервисы ntfy и Gotify.

Различия между мониторингом контейнера и сервиса

В материале отмечается важное различие между Dockhand и Uptime Kuma. Dockhand следит за тем, запущен ли сам Docker-контейнер и не превышены ли лимиты ресурсов. Однако контейнер может находиться в статусе «Running», в то время как само приложение внутри него выдает ошибку или недоступно по сети. Uptime Kuma проверяет именно доступность URL или конкретных портов, чего Dockhand не делает. Таким образом, полная замена мониторинга возможна только в том случае, если пользователю достаточно знать статус жизнеспособности процесса Docker, а не проверять фактическую отдачу веб-страницы.

Лицензирование и доступность

Dockhand позиционируется как бесплатный инструмент для домашнего использования, не содержащий телеметрии и не требующий облачной инфраструктуры. Бесплатная версия включает управление контейнерами, интеграцию с Git, сканирование уязвимостей и систему аутентификации.

Стоит учитывать, что проект распространяется под лицензией Business Source License (BSL) 1.1, что не делает его полностью открытым (Open Source) в классическом понимании. Для коммерческого использования предусмотрены отдельные лицензионные условия. В целом, целесообразность перехода на Dockhand зависит от того, насколько пользователю критично объединение функций администрирования и обновлений в одном интерфейсе при сохранении базового уровня мониторинга ресурсов.

01.