Все проекты

Server Dashboard

Веб-панель для контроля и базового администрирования внутренних Linux-серверов.

О проекте

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

Стек
Python · PHP · JavaScript · Nginx · systemd
Направление
Внутренние инструменты
Год
2026

Задача

На Linux-сервере состояние системы обычно приходится проверять разными командами и отдельными средствами: службы через systemctl, контейнеры через Docker, блокировки через Fail2Ban, диски через SMART, расписание через systemd timers.

Хотелось получить одну небольшую внутреннюю панель, в которой видно текущее состояние сервера и можно выполнить несколько повседневных административных действий без полноценной системы управления инфраструктурой.

При этом панель не должна была превращаться в универсальный комбайн. Важными требованиями были простая установка, работа без внешних облачных сервисов, ограничение привилегированных действий и возможность отключать ненужные функции.

Реализация

Server Dashboard состоит из веб-интерфейса и отдельной системной службы на Python. Веб-часть работает без привилегий root, а операции, которым нужны повышенные права, передаются системной службе через Unix-сокет.

В интерфейсе отображаются загрузка процессора, температура, память, средняя нагрузка, время работы сервера и заполнение файловых систем. Отдельные разделы показывают состояние служб systemd, контейнеров Docker, Fail2Ban, SMART и выбранных timer-юнитов systemd.

Административные действия ограничены конфигурацией. Можно отдельно указать, какие службы и контейнеры разрешено перезапускать и в каких правилах Fail2Ban разрешено снимать блокировки. Перезагрузка и выключение самого сервера требуют подтверждения.

В панели есть авторизация, защита от перебора пароля, CSRF-защита и журнал входов и административных действий. Для локальной эксплуатационной документации предусмотрен просмотр Markdown-файлов прямо из интерфейса.

Все основные страницы и компоненты можно включать и отключать через конфигурацию. Например, на сервере без Docker или Fail2Ban соответствующие пункты полностью исчезают из интерфейса.

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

Для разработки собственных модулей в репозитории есть отдельная документация и готовый минимальный шаблон.

Результат

Получилась компактная панель для повседневного контроля внутреннего Linux-сервера. Основные состояния видны на одной странице, а типовые административные действия можно выполнить из браузера без постоянного подключения по SSH.

На моём сервере панель используется вместе с Docker, Fail2Ban, SMART, systemd и собственной эксплуатационной документацией. Дополнительные специфичные функции подключаются отдельными локальными модулями и не требуют изменений основного приложения.

Перед первым публичным выпуском проект прошёл несколько независимых проверок, после чего версия 1.0.0 была проверена в рабочей среде, включая установку, перезагрузку сервера и загрузку внешних модулей.

Проект опубликован на GitHub под лицензией MIT.