Mini Bucket 3.6.4: теперь с плагинами — двери для разработки открыты
- четверг, 11 июня 2026 г. в 00:00:11

Как мы превратили панель управления NAS в платформу для расширений, зачем туда Log Manager и для чего Plugin Template.
Сегодня на Хабре уже была похожая статья, но модератор её снял. Поэтому те, кто её уже видел, могут не тратить время на чтение этой версии.
В прошлой статье (Mini Bucket 3.6.2: от беты к релизу) я показал, как панель доросла до стабильного состояния: закрыли дыры, разнесли базы, добавили HTTPS.
Но панель как панель. SMB, FTP и прочее — это стандартный набор почти любой админки. Пришло время расширять функционал.
Лучшим решением оказалось:
не городить модуль на модуле;
не гадать, кому и что может пригодиться;
не навязывать лишнего;
не отнимать у таких же, как я, энтузиазм и желание сделать что-то своё.
Поэтому, как уже было решено ранее, выходом из этой ситуации стали плагины.
Плагин по определению — это расширение, позволяющее приложению дополнить базовый функционал (мало ли, вдруг кто-то этого не знает).
В новой версии 3.6.4 я добавил возможность устанавливать плагины. Перед реализацией возникло много вопросов. Наша ключевая фишка — мультисеть (позволяет переключать фронтенд на бэкенд другого сервера для его мониторинга и управления). Значит, и модуль плагинов должен уметь переключаться.
Не проблема: механизм уже наработан. За вечер я реализовал модуль плагинов.

Тут снова возникает вопрос:
А что, если на главном сервере плагин установлен, а на Slave — нет?
Во избежание этого был реализован механизм проверки плагина на сервере. Если на Slave-сервере плагина нет, а мы пытаемся им управлять, то увидим сообщение об отсутствии плагина и предложение его установить.
Вот здесь как раз и пригодится хранение в репозитории. Если согласиться с этим заманчивым предложением, то одним нажатием кнопки плагин будет загружен на целевой сервер и установлен. Страница перезагрузится — и теперь плагином можно управлять.
Позже сделаю контроль разности версий.
Что это даёт?
Все загруженные плагины могут храниться в репозитории Root-мастер-сервера и передаваться на узлы, а с них — на их подчинённые Slave-серверы. Не придётся ходить на каждый сервер и устанавливать плагин вручную. Ну разве не лепота?
Log Manager

Этот плагин был первым. Собственно, он и работал, помогая писать всю эту затею, чтобы потом писать другие.
Что умеет Log Manager:
Выбирать логи, которые всегда будут под рукой. Вы можете выбрать лог-файл в системе или указать путь к нему и сохранить в список. Больше не придётся ничего запоминать или, что ещё хуже, лезть в Google, чтобы найти нужный лог.

Отображать содержимое лог-файла.
Искать в реальном времени и работать в режиме живого обновления (удобно, когда ищешь проблему).
Очищать лог (обзорно или полностью удалить содержимое файла).
Экспортировать лог-файл.
Возможно, позже я реализую некий брокер логов, но думаю, для начала и этого достаточно.
Особенно удобно смотреть нужные логи на определённых серверах: переключаешься на нужный сервер и видишь список его логов с содержимым.
Plugin Template

Как понятно из названия, это шаблон плагина для разработки. Я постарался разнести всю стандартную логику по файлам.
Шаблон уже включает:
стандартные проверки безопасности;
режим определения хостов для переключения;
режим проверки наличия плагина на сервере.
Думаю, те, кто захочет присоединиться к расширению функционала, оценят.
Надеюсь найдутся те кто сможет обуздать шаблон и присоединится к расширению функционала. На этом все) спасибо за внимание!
P.S Оставлю полезные линки по статье:
Сайт проекта: https://mini-bucket.ru/
Плагины: https://mini-bucket.ru/plugins/
Раздел для плагинов на форуме: https://mini-bucket.ru/community/community/плагины/
WiKi for Developers: https://mini-bucket.ru/wiki/knowledge-base/dev-pugins/plugin-development/
Установка: https://mini-bucket.ru/install/
Для тех у кого уже установлен Mini Bucket готово обновление в интерфейсе в разделе Update.