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

Как я хотел две странички для SAMBA и NFS, а сделал полноценную панель управления NAS на 20+ страницах

Как я хотел две странички для SAMBA и NFS, а сделал полноценную панель управления NAS на 20+ страницах - 1

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


С чего всё началось

Появилось у меня свободное время. Лежал у меня старенький 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 — попробуйте. Возможно, ему понравится так же, как и мне.

https://mini-b.itp-corp.ru/ [3]

https://github.com/itprogresscorp/Mini-Bucket [4]

Автор: 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