
Предупреждение сразу: я не программист. Код мог быть красивее, архитектура — стройнее. Но моя задача была другой — сделать удобный инструмент для себя как для системного администратора. Получилось то, что получилось. Не судите строго, это бета.
С чего всё началось
Появилось у меня свободное время. Лежал у меня старенький Netgear Stora MS2000 — когда-то ставил на него Debian 7 и OpenMediaVault. Потом рухнул диск, переставил я Debian 9, а вот OMV для этого железа уже оказался слишком тяжёлым.
Конфиги в консоли править мне каждый раз было лень. А нужно-то мне было всего ничего — SAMBA и NFS. Ну, думаю, чего париться? Напишу пару скриптов на PHP для создания и редактирования шар.
Так и начался Mini Bucket.
Первые две страницы — и понеслось
Первые две странички я набросал быстро: шары начали создаваться. Потом подумал: «А хорошо бы иметь дашборд, чтобы видеть всю статистику». Появилась третья страница — дашборд с графиками.
Потом рассудил: раз уж SMB и NFS есть, пусть будет rsync и FTP до кучи. Добавил их.
День за днём моя «панелька из двух страниц» разрослась в проект, который теперь называется Mini Bucket — NAS Control Panel.
И знаете что? Она действительно работает. На том железе, где современные панели просто не стартуют или тормозят вусмерть.
Что это за зверь
Mini Bucket — это веб-панель управления NAS, заточенная на ресурсную эффективность. Работает на:
-
чистом PHP 7.0 (встроенные модули, никаких композеров)
-
SQLite
-
стандартных Linux-утилитах
Никаких дополнительных модулей, тяжёлых фреймворков или мощного железа не надо.
Где проверено (и правда работает):
-
Raspberry Pi 1 (256 MB RAM) — да, тот самый, первый
-
Netgear Stora MS2000 (128 MB RAM) — древний корпус с душой
-
Debian 9 на старых ноутбуках и виртуалках
Что умеет (а умеет оно немало)
Я не гнался за «красивостью» кода, я гнался за доступностью нужных инструментов для себя как для сисадмина. Вот что в итоге собрал:
1. Живой дашборд
-
CPU (общий + по ядрам), температура, RAM, Load Average
-
Интерактивные графики: CPU, сетевой трафик (RX/TX), диск I/O
-
SMART, температура дисков, использование места
-
RAID и LVM статус, точки монтирования
-
IP, MAC, трафик по интерфейсам
2. Файрвол (UFW)
-
Включить/выключить, смотреть статус и правила
-
CRUD + поиск/фильтр
-
Готовые правила: SSH, HTTP, HTTPS, FTP, MySQL, PostgreSQL
-
Блокировка IP, активные соединения, цветные логи
3. Системный монитор + диагностика
-
ping, traceroute, netstat, сканер портов, DNS lookup, speed test
-
Управление процессами и systemd-сервисами
-
Системные логи с фильтрацией и экспортом
4. Веб-консоль (SSH через браузер)
-
Полный shell-доступ
-
Тёмная тема в стиле VSCode, подсветка синтаксиса
5. Планировщик Cron
-
CRUD, гибкое расписание (5 полей)
-
Быстрые пресеты, предпросмотр следующего запуска
-
Логирование, ручной запуск
6. Управление пользователями
-
Пользователи панели (SQLite) и системные пользователи Linux
-
Генератор паролей с индикатором надёжности
7. Диски, RAID и LVM
-
Инициализация дисков (GPT/MBR), разделы, монтирование, SMART
-
RAID 0,1,5,6,10, LINEAR, hot-spare, scrub
-
LVM: PV/VG/LV, снапшоты
-
Монтирование всего: локальные разделы, RAID, LVM, SMB/CIFS, NFS
8. Двухпанельный файловый менеджер
-
Две независимых панели, пакетные операции
-
Фоновые задачи с прогрессом и отменой
-
Архивы (tar/zip), права (chmod + ACL)
-
Скачивание папок как .tar на лету
9. Сервисы шаринга
-
FTP (vsftpd) — старт/стоп, папки, SSL, лимиты
-
NFS — экспорты, клиенты, статистика
-
SMB/CIFS (Samba) — пользователи, шары, сессии
-
Rsync — демон, модули, пользователи
10. Системный менеджер
-
Управление сервисами (NFS, SMB, Rsync, FTP, SSH, Apache2, UFW, NTP)
-
Перезагрузка, выключение
-
Дата/время (таймзона, NTP), сеть (hostname, DHCP/Static, DNS)
11. Системный чекер
-
Кнопки «Проверить всё» и «Исправить всё»
-
Категории: пакеты, сервисы, права, конфиги, фаервол, сеть
12. Система ротации ключей (для нескольких серверов)
-
Динамические API-ключи с автоматической ротацией без даунтайма
-
Каскадная ротация — изменения сами уходят на все подключённые серверы
-
Неограниченная вложенность (мастеры и слейвы)
Про установку (важный момент)
Предупреждение: Mini Bucket нужно ставить на чистую систему. Не рекомендуется устанавливать туда, где уже есть другие сервисы и пакеты. В процессе установки меняются права на некоторые системные файлы и правятся конфиги.
Установка : https://mini-b.itp-corp.ru/install/
Скрипт сам проверяет совместимость, создаёт директории, настраивает права, инициализирует SQLite и базовые конфиги.
Честно о багах и статусе
Внимание! Это бета-версия.
Да, баги есть. Да, некоторые проблемы ещё не решены. Я тестировал на Raspberry Pi 1, Netgear Stora MS2000, виртуалках и старых ноутбуках. В целом работает, но без ложки дёгтя не обошлось.
Буду выпускать обновления. Главное, что бета уже выпущена в релиз и её можно пробовать.
Планы и поддержка
-
Лицензия: AGPLv3+
-
По вопросам: sa@itp-corp.ru с темой «Mini-b»
-
Проект открыт, но я не обещаю идеальный код — я обещаю, что оно решает реальную задачу на старом железе
В сухом остатке
Mini Bucket — это мой взгляд на то, какой должна быть панель управления NAS, когда:
-
у тебя старое железо
-
современные панели тормозят
-
ты устал править конфиги руками
-
и при этом ты не программист, а сисадмин, который хочет просто чтобы всё работало
Я сделал это для себя. Делиться или нет — решайте сами. Но если у вас завалялся старый Raspberry Pi или Netgear — попробуйте. Возможно, ему понравится так же, как и мне.
Автор: RomanZo26
