Uptime Kuma, одно из самых популярных open‑source решений для мониторинга доступности (более 76 тыс. звёзд на GitHub), выпустило версию 2.0 — крупнейшее обновление проекта за последнее время. Главные изменения: полноценная поддержка MariaDB, запуск контейнеров в rootless‑режиме, заметно более быстрый и современный веб‑интерфейс, а также улучшения надёжности, безопасности и уведомлений.
TL;DR
- База данных: добавлена поддержка MariaDB наряду с SQLite — проще масштабировать крупные инсталляции.
- Безопасность контейнеров: поддержка rootless Docker снижает риски в продакшене и в Kubernetes.
- UI/UX и скорость: обновлённый интерфейс и оптимизации кэша/прокси ускоряют работу, особенно со списками из сотен мониторов.
- Уведомления: новые провайдеры, включая Nextcloud Talk и Brevo, плюс расширенные шаблоны.
- Безопасность: закрыта уязвимость vm2, обновлены зависимости, выполнено общее харденинг‑улучшение.
- Миграция: предусмотрен скрипт перехода; перед обновлением — бэкап данных. Есть ряд несовместимостей (см. ниже).
Что нового
Главное нововведение — поддержка MariaDB как альтернативы SQLite по умолчанию. Для крупных развёртываний с сотнями проверок это снимает ограничения по масштабированию и повышает устойчивость при росте нагрузки. Одновременно проект добавил поддержку rootless Docker: контейнер теперь можно запускать без прав суперпользователя, что улучшает модель безопасности в изолированных средах и кластерах.
Веб‑интерфейс получил визуальное обновление и оптимизации производительности: быстрее открываются большие списки мониторингов, исправлены расхождения в проверках аптайма, улучшена обработка прокси и логика кэширования. Расширены интеграции уведомлений — помимо популярных Telegram/Discord/Slack появились новые каналы, а шаблоны уведомлений позволяют гибко стандартизировать формат сообщений.
Безопасность и надёжность
В версии 2.0 закрыта уязвимость в vm2, обновлены ключевые зависимости, добавлены меры харденинга. Это особенно важно для публичных инсталляций и поставок в контейнерах.
Миграция и важные изменения
Обновление с ветки 1.x в большинстве случаев проходит без проблем, но перед апдейтом рекомендуется сделать резервную копию базы и конфигураций (особенно при переходе с SQLite на MariaDB) и запустить встроенный миграционный скрипт. В контейнерах достаточно получить актуальный образ; при ручной установке — обновить репозиторий и выполнить сборку зависимостей.
Основные несовместимости:
- Эндпоинты бейджей аптайма и ping принимают только интервалы 24, 24h, 30d или 1y.
- Удалена поддержка устаревших браузеров.
- Старая функция бэкапа/восстановления из JSON убрана — используйте резервное копирование директории данных.
- Убран устаревший DNS‑кэш для HTTP‑мониторов. В Docker следует полагаться на встроенный сервис кэширования имен.
- Значение по умолчанию для числа повторных попыток в новых мониторах изменено с 1 на 0, чтобы избежать путаницы.
- Шаблоны Email (SMTP) переводятся на LiquidJS вместо кастомного парсера. Переменные чувствительны к регистру; не поддерживаемые игнорируются. Доступные: name, msg, status, heartbeatJSON, monitorJSON, hostnameOrUrl.
Сам переход может занять несколько минут — ориентируйтесь по логам и дождитесь завершения.
Для кого это важно
Пользователи, которые ранее упирались в ограничения SQLite, теперь могут безболезненно масштабировать мониторинг с MariaDB. Администраторы контейнеров получат более безопасный дефолт благодаря rootless‑режиму, а команда поддержки — больше гибкости в каналах и шаблонах оповещений. Интерфейс стал быстрее и удобнее в ежедневной работе.