Веб-панель для наблюдения и управления внутренними Linux-серверами
  • Python 52.9%
  • JavaScript 24.3%
  • PHP 15%
  • CSS 6.4%
  • Shell 1.4%
Найти файл
2026-09-17 01:04:48 +03:00
daemon/server_dashboard Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
deploy-examples Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
docs Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
scripts Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
tests Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
web Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
.gitignore Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
CHANGELOG.md Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
config.example.toml Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
LICENSE Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
README.md Server Dashboard 1.0.1 — Frontend Fix 2026-09-17 01:04:48 +03:00
requirements.txt Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
secrets.example.ini Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
SECURITY.md Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00
THIRD_PARTY.md Первый публичный выпуск Server Dashboard 1.0.0 2026-09-13 18:52:01 +03:00

Server Dashboard

Server Dashboard — веб-панель для контроля и базового администрирования Linux-сервера во внутренней сети. Она собирает в одном месте состояние хоста, служб systemd, контейнеров Docker, Fail2Ban, дисков, SMART, расписания и локальной документации. Небольшой набор административных действий выполняется через отдельную привилегированную службу и разрешается только явно настроенным объектам.

Текущая версия 1.0.1 — исправляющий выпуск интерфейса поверх первого стабильного выпуска 1.0.0.

Возможности

  • загрузка процессора, температура, память, средняя нагрузка и время работы сервера;
  • контроль заполнения файловых систем;
  • состояние выбранных служб systemd и разрешённый перезапуск отдельных служб;
  • состояние контейнеров Docker, результат их проверки состояния и разрешённый перезапуск отдельных контейнеров;
  • состояние Fail2Ban, список активных блокировок и снятие блокировки в разрешённых jail;
  • SMART для ATA/NVMe-дисков;
  • состояние выбранных timer-юнитов systemd;
  • просмотр локальной документации в Markdown без возможности редактирования;
  • журнал входов и административных действий;
  • перезагрузка и выключение сервера с подтверждением;
  • отключаемые страницы и компоненты;
  • внешние модули, которые можно добавлять без изменения исходного кода Server Dashboard.

Как устроено приложение

Веб-часть работает от отдельного непривилегированного пользователя. Действия, которым нужны права root, передаются отдельной службе через Unix-сокет. В конфигурации задаются списки объектов, которыми разрешено управлять: например, контейнеры Docker для перезапуска или jail Fail2Ban для снятия блокировки.

Функции, характерные только для конкретной инфраструктуры, не нужно добавлять в ядро проекта. Для них предусмотрены внешние модули. Они могут создать собственную страницу или встроить блок в «Обзор» и «Систему».

Подробнее: архитектура.

Требования

Базовая установка рассчитана на Linux с systemd. Необходимы:

  • Python 3.11 или новее;
  • markdown-it-py 3.x;
  • PHP 8.2 или новее с PHP-FPM;
  • Nginx;
  • systemd.

Docker, Fail2Ban и smartmontools нужны только при включении соответствующих функций.

Быстрый старт

  1. Скопируйте репозиторий в /opt/server-dashboard.
  2. Создайте /etc/server-dashboard/config.toml на основе config.example.toml и отредактируйте его через mcedit.
  3. Создайте пользователя веб-части и группы, как описано в инструкции по установке.
  4. Задайте пароль:
/opt/server-dashboard/scripts/dashboard-set-password admin
  1. Установите примеры конфигурации из deploy-examples/ для systemd, PHP-FPM, tmpfiles, logrotate и Nginx.
  2. Проверьте конфигурацию:
/opt/server-dashboard/scripts/check-config.py
  1. Запустите службу Server Dashboard и откройте веб-интерфейс только из разрешённой внутренней сети.

Полная инструкция: docs/INSTALLATION.md.

Документация

Модули

Встроенные страницы включаются в секции [modules], а части страницы «Система» — в [system]. Внешние модули находятся отдельно, обычно в /opt/server-dashboard-extensions/, поэтому обновление ядра не должно затрагивать их код и настройки.

Подробное руководство с примерами серверной и браузерной части: docs/MODULE-DEVELOPMENT.md.

Безопасность

Server Dashboard предназначен для внутренней административной сети. Не публикуйте веб-интерфейс напрямую в Интернет. Для недоверенной или маршрутизируемой сети используйте HTTPS и дополнительное ограничение доступа на сетевом уровне.

Порядок сообщения об уязвимости описан в SECURITY.md.

Лицензия

Проект распространяется по лицензии MIT. Код можно использовать, изменять, копировать и распространять на условиях лицензии. Полный текст приведён в LICENSE.

Программное обеспечение предоставляется «как есть», без каких-либо гарантий. Автор не несёт ответственности за прямые или косвенные последствия его использования.

Автор

Разработка: Виталий Егоров
Telegram: @egorowitaliy
E-mail: egorowitaliy@gmail.com