Личный проект · 2026
Flatline
Flatline — мой self-hosted форк мониторинга Uptime Kuma от Louis Lam, с сохранением авторства upstream и MIT-лицензии. Я добавил операторский React-дашборд, плотный Superboard для живой телеметрии хостов и контейнеров, общий многопользовательский доступ и REST API с областями прав для скриптов и AI-агентов. Telegram — единственный канал уведомлений. Текущий деплой обслуживает Node.js-бэкенд, дашборд и публичные статус-страницы с одного origin; отдельный Go-агент собирает метрики серверов.
- Роль
- Развитие форка, дизайн дашборда, телеметрия и API
- Год
- 2026
- Полный стек
- 10 инструментов

Полный стек
- React 19
- TypeScript
- Vite
- Tailwind CSS 4
- Node.js
- Express
- SQLite
- Go
- SSE
- Docker
На чём всё держится
- Скриншоты сняты с настоящего приложения на сгенерированных fixtures, а не с production-инсталляции. Проект остаётся форком Uptime Kuma с указанием авторства, а не движком мониторинга, написанным с нуля.
- Go-агент отправляет сырые счётчики с частотой 1 Гц; бэкенд вычисляет загрузку и передаёт обновления через SSE с bearer-аутентификацией. Исторические значения архивируются примерно каждые 30 секунд, а для длительного хранения используются часовые агрегаты: живые выборки и исторические процентили явно разделены.
- Все операторы работают с общими мониторами без передачи одного пароля. Одноразовые приглашения и персональные токены read/write/publish открывают те же операции через REST; для интеграций доступен самодокументируемый OpenAPI-контракт.
- Дисковый буфер агента сохраняет задержанные выборки при недоступности сервера. Алерты о нагрузке используют серверные debounce, cooldown, гистерезис и сообщения о восстановлении вместо уведомления о каждом секундном всплеске.
Если продолжать
- Закрыть унаследованные предупреждения зависимостей отдельным проходом по безопасности, не смешивая его с изменениями дашборда.
- Исследовать подписку на события Docker и приватные агрегированные статус-представления; ни одно не заявляется как уже выпущенная возможность.
Виды проекта

