- PVSM.RU - https://www.pvsm.ru -

Предупреждение сразу: я не программист. Код мог быть красивее, архитектура — стройнее. Но моя задача была другой — сделать удобный инструмент для себя как для системного администратора. Получилось то, что получилось. Не судите строго, это бета.
Появилось у меня свободное время. Лежал у меня старенький 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/ [1]
Скрипт сам проверяет совместимость, создаёт директории, настраивает права, инициализирует SQLite и базовые конфиги.
Внимание! Это бета-версия.
Да, баги есть. Да, некоторые проблемы ещё не решены. Я тестировал на Raspberry Pi 1, Netgear Stora MS2000, виртуалках и старых ноутбуках. В целом работает, но без ложки дёгтя не обошлось.
Буду выпускать обновления. Главное, что бета уже выпущена в релиз и её можно пробовать.
Лицензия: AGPLv3+
По вопросам: sa@itp-corp.ru [2] с темой «Mini-b»
Проект открыт, но я не обещаю идеальный код — я обещаю, что оно решает реальную задачу на старом железе
Mini Bucket — это мой взгляд на то, какой должна быть панель управления NAS, когда:
у тебя старое железо
современные панели тормозят
ты устал править конфиги руками
и при этом ты не программист, а сисадмин, который хочет просто чтобы всё работало
Я сделал это для себя. Делиться или нет — решайте сами. Но если у вас завалялся старый Raspberry Pi или Netgear — попробуйте. Возможно, ему понравится так же, как и мне.
Автор: RomanZo26
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/debian/452268
Ссылки в тексте:
[1] https://mini-b.itp-corp.ru/install/: https://mini-b.itp-corp.ru/install/
[2] sa@itp-corp.ru: mailto:sa@itp-corp.ru
[3] https://mini-b.itp-corp.ru/: https://mini-b.itp-corp.ru/
[4] https://github.com/itprogresscorp/Mini-Bucket: https://github.com/itprogresscorp/Mini-Bucket.git
[5] Источник: https://habr.com/ru/articles/1039454/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1039454
Нажмите здесь для печати.