Mini Bucket 3.6.4: теперь с плагинами — двери для разработки открыты

от автора

Как мы превратили панель управления NAS в платформу для расширений, зачем туда Log Manager и для чего Plugin Template.


Вместо предисловия

Прошлой статьёй (Mini Bucket 3.6.2: от беты к релизу) я показал, как панель доросла до стабильного состояния. Закрыли дыры, разнесли базы, добавили HTTPS. Ну и что? Панель как панель.

Но меня всегда напрягало одно: в любой такой системе «из коробки» есть 80% нужного и 20% того, чего лично вам не хватает. Ну вот нету там твоего любимого инструмента для бэкапов или кастомного виджета. И ты либо страдаешь, либо лезешь в чужой код.

Я помню чудное мгновение,

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

Отобразив Error 500

я понял, серверу кранты.

Ну примерно как то так выглядели одни из попыток поправить код того же джилпи)

Поэтому:

С версии 3.6.4 Mini Bucket становится открытой платформой для плагинов.

Теперь любой желающий может дописать то, что нужно именно ему. И поделиться с сообществом.


🚪 Двери открыты: что это значит на практике

Я не просто добавил кнопку «Установить плагин». Я переработал архитектуру так, чтобы:

✅ Плагин мог работать на локальном хосте (где стоит Mini-Bucket)
✅ Плагин мог работать на удалённых хостах через API
✅ Плагин мог быть установлен из репозитория основного сервера на удалённые серверы при первом использовании
✅ У плагина могла быть своя SQLite-база (без костылей)
✅ Плагин использовал системные API и аутентификацию — никаких дыр в безопасности

И всё это — на чистом PHP 7.0+, без фреймворков. Потому что мы помним про старый NAS на коленке.


📦 Первые плагины: Log Manager и Plugin Template

С открытием платформы я выпускаю два плагина. Один — для реальной работы. Второй — для тех, кто хочет создавать свои. Плагины реализованы по-разному, оба варианта рабочие.

🧾 Log Manager — тот, кому надоел SSH ради логов

Вы знаете эту боль: что-то упало на сервере, нужно посмотреть логи. Вы лезете в SSH, cd /var/log/greptailless… А если серверов несколько — удовольствие растягивается.

Log Manager решает это.

Что умеет:

  • Добавлять любые логи на сервере — Nginx, Apache, MySQL, vsftpd, системные, свои.

  • Искать в реальном времени — вбил слово, строки подсветились моментально.

  • Смотреть в Live-режиме — новые записи подгружаются сами.

  • Экспортировать в TXT/JSON — скинул админу, он разбирается.

  • Очищать лог одной кнопкой — когда файл уже на гигабайт.

Главный плюс: не надо помнить пути к логам. Встроенный файловый браузер показывает структуру папок — выбираешь файл и работаешь.

🧩 Plugin Template — стартовый набор для разработчика

Если вы хотите написать свой плагин — берите этот шаблон. Внутри уже есть:

  • Готовая структура файлов (info.json, основной PHP, API-обработчик, JS, CSS).

  • Авторизация и проверка API-ключа.

  • Поддержка своей SQLite-базы.

  • Примеры работы с API (apiCallshowAlert).

  • Готовый механизм удалённой установки на другие хосты.

Это как скелет, к которому остаётся приделать мясо вашей логики.

php

// Пример из API-обработчика — всё уже работаетcase 'get_plugin_status':    echo json_encode(['success' => true, 'available' => true]);    break;

Вы просто копируете, переименовываете по правилам (внимание, золотое правило: все имена должны совпадать!) и добавляете свои action.


🔌 Как это работает внутри (очень кратко без технички)

  1. Плагин — это ZIP-архив с определённой структурой.

  2. Вы загружаете его в разделе Система → Плагины → Репозиторий.

  3. Нажимаете «Установить». Скрипт распаковывает архив, кладёт файлы в нужные места, даёт права.

  4. Плагин появляется в меню (или в разделе Установленные плагины).

  5. Если плагин поддерживает удалённые хосты — при первом обращении к удалённому серверу он предложит установку туда (через API).

Всё. Никаких ручных копирований по SSH.

Более подробно https://mini-bucket.ru/wiki/knowledge-base/dev-pugins/plugin-development/


🌐 Экосистема: документация, форум, обновления

Проект живёт не только кодом. Я подготовил три опоры для сообщества разработчиков:

📚 Документация по разработке плагинов

Полное руководство: от создания info.json до готового Todo-листа.

Что внутри:

  • Жёсткие правила именования (чтобы плагин точно работал).

  • Описание всех файлов (какой за что отвечает).

  • JavaScript API (apiCallshowAlertescapeHtml).

  • PHP API (валидация ключей, работа с БД).

  • Пример полного плагина (Todo List).

👉 Перейти к документации

🗣 Форум для обсуждения плагинов

Вопросы, идеи, готовые наработки, баг-репорты. Если застряли с разработкой — пишите, поможем.

👉 Раздел Plugins на форуме

📦 Страница всех плагинов

Один клик — и плагин скачан, загружен в репозиторий, готов к установке.

👉 Все плагины Mini-Bucket


⚙️ Как получить эту красоту

Если у вас уже стоит Mini-Bucket (версия 3.6.2 и выше):

  1. Зайдите в System → Update.

  2. Нажмите «Проверить обновления».

  3. Установите версию 3.6.4.

Если вы новый пользователь:

  • Скачайте установщик с официальной страницы установки.

  • Поставьте на чистый Debian 9 (инструкция есть на сайте).

  • После установки вы сразу получите версию 3.6.4 с поддержкой плагинов.


🧠 Мои мысли вслух: почему это важно

Когда я начинал Mini Bucket, я просто хотел удобные странички для SAMBA и NFS. Потом подтянулись диски, крон, фаервол, пользователи. Панель разрослась. Но я понимал, что кому-то хватит и этого, а кому-то нужна фича, которой нет.

С открытием платформы плагинов я снимаю с себя ответственность «знать все потребности». Теперь каждый администратор или разработчик может дописать то, что нужно лично ему.

  • Хотите свой бэкап на S3? Пишите плагин.

  • Хотите мониторинг температуры дисков? Плагин.

  • Хотите интеграцию с Telegram-ботом? Пожалуйста.

И не нужно ждать, пока я раскачаюсь и добавлю это в ядро. Просто берёте шаблон и делаете.

Mini Bucket превращается из продукта в платформу. А это, знаете, совсем другой уровень.


🔗 Полезные ссылки


P.S. Обратная связь и призыв

Если вы уже пишете плагин — дайте знать на форуме. Если у вас есть идея, но нет времени — напишите, может, я возьмусь.

И помните: плагины — это не только про расширение функционала. Это про то, что Mini Bucket теперь ваш. Вы можете его изменять, дополнять, адаптировать под свои сумасшедшие серверные задачи.

А я пойду дальше — готовить следующие плагины. Идеи уже есть.


P.S. Скриншоты в статье с реального сервера. Всё работает именно так, как показано.

ссылка на оригинал статьи https://habr.com/ru/articles/1045806/