Add public monitoring features and CI updates

- Add status pages, incidents, badges, maintenance, bulk ops, and metrics
- Add Docker packaging, env example, and frontend routes
- Refresh GitHub workflows and project metadata
This commit is contained in:
Tomas Dvorak
2026-04-27 11:10:18 +02:00
parent 363d708e91
commit 8011d487f1
101 changed files with 16126 additions and 2028 deletions
+253 -32
View File
@@ -117,6 +117,11 @@ msgstr ""
msgid "Active"
msgstr "Активно"
#. placeholder {0}: statusCounts.active
#: src/components/domains-table/domains-table.tsx
msgid "Active ({0})"
msgstr ""
#: src/components/active-alerts.tsx
msgid "Active Alerts"
msgstr "Активные оповещения"
@@ -126,22 +131,29 @@ msgid "Active state"
msgstr "Активное состояние"
#: src/components/monitors-table/monitors-table.tsx
msgid "Add"
msgstr ""
#~ msgid "Add"
#~ msgstr ""
#: src/components/add-system.tsx
#: src/components/add-system.tsx
#: src/components/navbar.tsx
#: src/components/navbar.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
msgid "Add {foo}"
msgstr "Добавить {foo}"
#: src/components/domains-table/domains-table.tsx
msgid "Add Domain"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
#: src/components/monitors-table/monitors-table.tsx
msgid "Add Monitor"
msgstr ""
#: src/components/systems-table/systems-table.tsx
msgid "Add System"
msgstr ""
#: src/components/routes/settings/notifications.tsx
msgid "Add URL"
msgstr "Добавить URL"
@@ -191,6 +203,15 @@ msgstr "История оповещений"
msgid "Alerts"
msgstr "Оповещения"
#. placeholder {0}: data.length
#. placeholder {0}: stats.total
#. placeholder {0}: statusCounts.total
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "All ({0})"
msgstr ""
#: src/components/command-palette.tsx
#: src/components/containers-table/containers-table.tsx
#: src/components/navbar.tsx
@@ -203,7 +224,6 @@ msgstr "Все контейнеры"
#: src/components/command-palette.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/systems-table/systems-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "All Systems"
msgstr "Все системы"
@@ -211,6 +231,10 @@ msgstr "Все системы"
msgid "Are you sure you want to delete {name}?"
msgstr "Вы уверены, что хотите удалить {name}?"
#: src/components/domains-table/domains-table.tsx
msgid "Are you sure you want to delete this domain? This action cannot be undone."
msgstr ""
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Are you sure?"
msgstr "Вы уверены?"
@@ -340,6 +364,12 @@ msgstr "Байты (Кбайт/с, Мбайт/с, Гбайт/с)"
msgid "Cache / Buffers"
msgstr "Кэш / Буферы"
#: src/components/command-palette.tsx
#: src/components/routes/calendar.tsx
#: src/components/routes/home.tsx
msgid "Calendar"
msgstr ""
#: src/components/systemd-table/systemd-table.tsx
msgid "Can reload"
msgstr "Может перезагрузить"
@@ -352,6 +382,7 @@ msgstr "Может запустить"
msgid "Can stop"
msgstr "Может остановить"
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/add-monitor-dialog.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -376,8 +407,8 @@ msgid "Celsius (°C)"
msgstr "Цельсий (°C)"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Certificate expiry notifications are only available for HTTPS monitors."
msgstr ""
#~ msgid "Certificate expiry notifications are only available for HTTPS monitors."
#~ msgstr ""
#: src/components/routes/settings/general.tsx
msgid "Change display units for metrics."
@@ -409,8 +440,8 @@ msgid "Check {email} for a reset link."
msgstr "Проверьте {email} для получения ссылки на сброс."
#: src/components/routes/monitor.tsx
msgid "Check History"
msgstr ""
#~ msgid "Check History"
#~ msgstr ""
#: src/components/routes/settings/layout.tsx
msgid "Check logs for more details."
@@ -450,6 +481,10 @@ msgstr "Нажмите на систему для просмотра допол
msgid "Click to copy"
msgstr "Нажмите, чтобы скопировать"
#: src/components/systems-table/systems-table.tsx
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
msgid "Command line instructions"
@@ -627,9 +662,17 @@ msgid "data.status"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Days before expiry to notify"
msgid "Database Connection"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Database Name"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
#~ msgid "Days before expiry to notify"
#~ msgstr ""
#: src/components/routes/system/info-bar.tsx
msgctxt "Default system layout option"
msgid "Default"
@@ -639,6 +682,7 @@ msgstr "По умолчанию"
msgid "Default time period"
msgstr "Период по умолчанию"
#: src/components/domains-table/domains-table.tsx
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
@@ -648,6 +692,10 @@ msgstr "Период по умолчанию"
msgid "Delete"
msgstr "Удалить"
#: src/components/domains-table/domains-table.tsx
msgid "Delete Domain"
msgstr ""
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Delete fingerprint"
msgstr "Удалить отпечаток"
@@ -699,8 +747,8 @@ msgid "Display"
msgstr "Отображение"
#: src/components/routes/domain.tsx
msgid "DNS Records"
msgstr ""
#~ msgid "DNS Records"
#~ msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "DNS Server (optional)"
@@ -723,6 +771,18 @@ msgstr "Сетевой ввод/вывод Docker"
msgid "Documentation"
msgstr "Документация"
#: src/components/routes/home.tsx
msgid "Domain and SSL expiry calendar"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Domain Monitoring"
msgstr ""
#: src/components/command-palette.tsx
msgid "Domains"
msgstr ""
#. Context: System is down
#: src/components/alerts-history-columns.tsx
#: src/components/routes/system/info-bar.tsx
@@ -731,6 +791,11 @@ msgstr "Документация"
msgid "Down"
msgstr "Не в сети"
#. placeholder {0}: stats.down
#: src/components/monitors-table/monitors-table.tsx
msgid "Down ({0})"
msgstr ""
#: src/components/systems-table/systems-table.tsx
msgid "Down ({downSystemsLength})"
msgstr "Не в сети ({downSystemsLength})"
@@ -851,10 +916,20 @@ msgstr "Завершился активным"
msgid "Expected Value"
msgstr ""
#. placeholder {0}: statusCounts.expired
#: src/components/domains-table/domains-table.tsx
msgid "Expired ({0})"
msgstr ""
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Expires after one hour or on hub restart."
msgstr "Истекает через час или при перезапуске хаба."
#. placeholder {0}: statusCounts.expiring
#: src/components/domains-table/domains-table.tsx
msgid "Expiring ({0})"
msgstr ""
#: src/components/routes/settings/alerts-history-data-table.tsx
msgid "Export"
msgstr "Экспорт"
@@ -914,6 +989,14 @@ msgstr ""
msgid "Failed: {0}"
msgstr "Неудачно: {0}"
#: src/components/domains-table/domains-table.tsx
msgid "Filter domains..."
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "Filter monitors..."
msgstr ""
#: src/components/containers-table/containers-table.tsx
#: src/components/routes/settings/alerts-history-data-table.tsx
#: src/components/routes/system/chart-card.tsx
@@ -958,8 +1041,8 @@ msgid "General"
msgstr "Общие"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "General notification settings will be configured in the Notifications tab."
msgstr ""
#~ msgid "General notification settings will be configured in the Notifications tab."
#~ msgstr ""
#: src/components/routes/settings/quiet-hours.tsx
msgid "Global"
@@ -981,15 +1064,25 @@ msgstr "Потребляемая мощность GPU"
msgid "GPU Usage"
msgstr "Использование GPU"
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/routes/system/info-bar.tsx
#: src/components/systems-table/systems-table.tsx
msgid "Grid"
msgstr "Сетка"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "gRPC Keyword"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Headers (JSON)"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "health"
msgstr ""
#: src/components/containers-table/containers-table-columns.tsx
msgid "Health"
msgstr "Здоровье"
@@ -1007,8 +1100,8 @@ msgid "Heartbeat sent successfully"
msgstr "Heartbeat успешно отправлен"
#: src/components/routes/domain.tsx
msgid "History"
msgstr ""
#~ msgid "History"
#~ msgstr ""
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
@@ -1016,6 +1109,10 @@ msgctxt "Button to copy install command"
msgid "Homebrew command"
msgstr "Команда Homebrew"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Host / Connection String"
msgstr ""
#: src/components/add-system.tsx
msgid "Host / IP"
msgstr "Хост / IP"
@@ -1074,6 +1171,13 @@ msgstr "Образ"
msgid "Inactive"
msgstr "Неактивно"
#: src/components/command-palette.tsx
#: src/components/routes/home.tsx
#: src/components/routes/incidents.tsx
#: src/components/routes/incidents.tsx
msgid "Incidents"
msgstr ""
#: src/components/routes/settings/heartbeat.tsx
msgid "Interval"
msgstr "Интервал"
@@ -1103,6 +1207,8 @@ msgstr ""
msgid "Language"
msgstr "Язык"
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "Layout"
msgstr "Макет"
@@ -1150,6 +1256,10 @@ msgstr "Состояние загрузки"
msgid "Loading..."
msgstr "Загрузка..."
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "localhost:3306"
msgstr ""
#: src/components/navbar.tsx
#: src/components/navbar.tsx
msgid "Log Out"
@@ -1178,10 +1288,19 @@ msgstr "Ищете, где создать оповещения? Нажмите
msgid "Main PID"
msgstr "Основной PID"
#. placeholder {0}: stats.maintenance
#: src/components/monitors-table/monitors-table.tsx
msgid "Maintenance ({0})"
msgstr ""
#: src/components/routes/settings/layout.tsx
msgid "Manage display and notification preferences."
msgstr "Управляйте предпочтениями отображения и уведомлений."
#: src/components/routes/home.tsx
msgid "Manage public status pages"
msgstr ""
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgid "Manual setup instructions"
@@ -1243,6 +1362,24 @@ msgstr ""
msgid "Monitor websites, APIs, and services"
msgstr ""
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
#: src/components/navbar.tsx
msgid "Monitoring"
msgstr ""
#: src/components/command-palette.tsx
msgid "Monitors"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "MQTT Topic"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "mydb"
msgstr ""
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
#: src/components/containers-table/containers-table-columns.tsx
@@ -1283,14 +1420,22 @@ msgstr "Единицы измерения скорости сети"
msgid "No"
msgstr "Нет"
#: src/components/routes/monitor.tsx
msgid "No data available for selected time range"
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "No monitors configured yet."
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "No monitors match your search."
msgid "No monitors match your filters."
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
#~ msgid "No monitors match your search."
#~ msgstr ""
#: src/components/command-palette.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "No results found."
@@ -1322,8 +1467,8 @@ msgid "Notifications"
msgstr "Уведомления"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Notify when certificate expires"
msgstr ""
#~ msgid "Notify when certificate expires"
#~ msgstr ""
#: src/components/login/auth-form.tsx
msgid "OAuth 2 / OIDC support"
@@ -1364,13 +1509,17 @@ msgstr "Другое"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
msgid "Overview"
msgstr ""
#~ msgid "Overview"
#~ msgstr ""
#: src/components/alerts/alerts-sheet.tsx
msgid "Overwrite existing alerts"
msgstr "Перезаписать существующие оповещения"
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
#: src/components/command-palette.tsx
@@ -1387,8 +1536,13 @@ msgstr "Страница {0} из {1}"
msgid "Pages / Settings"
msgstr "Страницы / Настройки"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "password"
msgstr ""
#: src/components/login/auth-form.tsx
#: src/components/login/auth-form.tsx
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Password"
msgstr "Пароль"
@@ -1417,6 +1571,11 @@ msgstr "Пауза"
msgid "Paused"
msgstr "Пауза"
#. placeholder {0}: stats.paused
#: src/components/monitors-table/monitors-table.tsx
msgid "Paused ({0})"
msgstr ""
#: src/components/systems-table/systems-table.tsx
msgid "Paused ({pausedSystemsLength})"
msgstr "Пауза ({pausedSystemsLength})"
@@ -1425,6 +1584,11 @@ msgstr "Пауза ({pausedSystemsLength})"
msgid "Payload format"
msgstr "Формат полезной нагрузки"
#. placeholder {0}: stats.pending
#: src/components/monitors-table/monitors-table.tsx
msgid "Pending ({0})"
msgstr ""
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/cpu-sheet.tsx
msgid "Per-core average utilization"
@@ -1583,8 +1747,8 @@ msgid "Response"
msgstr ""
#: src/components/routes/monitor.tsx
msgid "Response Times"
msgstr ""
#~ msgid "Response Times"
#~ msgstr ""
#: src/components/systemd-table/systemd-table.tsx
msgid "Restarts"
@@ -1599,6 +1763,10 @@ msgstr "Возобновить"
msgid "Retries"
msgstr ""
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "root"
msgstr ""
#: src/components/systems-table/systems-table-columns.tsx
msgctxt "Root disk label"
msgid "Root"
@@ -1662,12 +1830,16 @@ msgid "Search"
msgstr "Поиск"
#: src/components/command-palette.tsx
msgid "Search for systems or settings..."
msgstr "Поиск систем или настроек..."
#~ msgid "Search for systems or settings..."
#~ msgstr "Поиск систем или настроек..."
#: src/components/command-palette.tsx
msgid "Search for systems, monitors, domains or settings..."
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "Search monitors..."
msgstr ""
#~ msgid "Search monitors..."
#~ msgstr ""
#: src/components/routes/settings/heartbeat.tsx
msgid "Seconds between pings (default: 60)"
@@ -1693,6 +1865,10 @@ msgstr "Отправляйте периодические исходящие п
msgid "Send test heartbeat"
msgstr "Отправить тестовый heartbeat"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "sensor/temperature"
msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Sent"
msgstr "Отправлено"
@@ -1741,8 +1917,12 @@ msgid "SMTP settings"
msgstr "Настройки SMTP"
#: src/components/systems-table/systems-table.tsx
msgid "Sort By"
msgstr "Сортировать по"
#~ msgid "Sort By"
#~ msgstr "Сортировать по"
#: src/components/routes/domain.tsx
#~ msgid "SSL Certificate"
#~ msgstr ""
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -1757,6 +1937,8 @@ msgid "State"
msgstr "Состояние"
#: src/components/containers-table/containers-table-columns.tsx
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/routes/system/smart-table.tsx
#: src/components/systemd-table/systemd-table.tsx
@@ -1765,6 +1947,16 @@ msgstr "Состояние"
msgid "Status"
msgstr "Статус"
#: src/components/routes/monitor.tsx
msgid "Status and response time over the selected period"
msgstr ""
#: src/components/command-palette.tsx
#: src/components/routes/home.tsx
#: src/components/routes/status-pages.tsx
msgid "Status Pages"
msgstr ""
#: src/components/systemd-table/systemd-table-columns.tsx
msgid "Sub State"
msgstr "Подсостояние"
@@ -1789,7 +1981,6 @@ msgstr ""
#: src/components/add-system.tsx
#: src/components/alerts-history-columns.tsx
#: src/components/containers-table/containers-table-columns.tsx
#: src/components/navbar.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
#: src/components/routes/settings/quiet-hours.tsx
@@ -1817,6 +2008,8 @@ msgstr "Системы"
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
msgstr "Системы могут управляться в файле <0>config.yml</0> внутри вашего каталога данных."
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "Table"
msgstr "Таблица"
@@ -1944,6 +2137,10 @@ msgstr ""
msgid "Total: {0}"
msgstr "Всего: {0}"
#: src/components/domains-table/domains-table.tsx
msgid "Track domain expiry dates and watch domains for purchase"
msgstr ""
#: src/components/systemd-table/systemd-table.tsx
msgid "Triggered by"
msgstr "Запущено"
@@ -2022,6 +2219,11 @@ msgstr "Универсальный токен"
msgid "Unknown"
msgstr "Неизвестная"
#. placeholder {0}: statusCounts.unknown
#: src/components/domains-table/domains-table.tsx
msgid "Unknown ({0})"
msgstr ""
#: src/components/systemd-table/systemd-table.tsx
#: src/components/systemd-table/systemd-table.tsx
msgid "Unlimited"
@@ -2033,6 +2235,11 @@ msgstr "Неограниченно"
msgid "Up"
msgstr "В сети"
#. placeholder {0}: stats.up
#: src/components/monitors-table/monitors-table.tsx
msgid "Up ({0})"
msgstr ""
#: src/components/systems-table/systems-table.tsx
msgid "Up ({upSystemsLength})"
msgstr "В сети ({upSystemsLength})"
@@ -2089,6 +2296,10 @@ msgstr "Использование корневого раздела"
msgid "Used"
msgstr "Использовано"
#: src/components/monitors-table/add-monitor-dialog.tsx
msgid "Username"
msgstr ""
#: src/components/command-palette.tsx
#: src/components/navbar.tsx
msgid "Users"
@@ -2103,10 +2314,16 @@ msgstr "Использование"
msgid "Value"
msgstr "Значение"
#: src/components/domains-table/domains-table.tsx
#: src/components/monitors-table/monitors-table.tsx
#: src/components/systems-table/systems-table.tsx
msgid "View"
msgstr "Вид"
#: src/components/routes/home.tsx
msgid "View and manage incidents"
msgstr ""
#: src/components/routes/system/cpu-sheet.tsx
#: src/components/routes/system/disk-io-sheet.tsx
#: src/components/routes/system/network-sheet.tsx
@@ -2118,8 +2335,8 @@ msgid "View your 200 most recent alerts."
msgstr "Просмотреть 200 последних оповещений."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Видимые столбцы"
#~ msgid "Visible Fields"
#~ msgstr "Видимые столбцы"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
@@ -2162,6 +2379,10 @@ msgstr "При включении этот токен позволяет аге
msgid "When using POST, each heartbeat includes a JSON payload with system status summary, list of down systems, and triggered alerts."
msgstr "При использовании POST каждый heartbeat содержит полезную нагрузку JSON с кратким отчетом о состоянии системы, списком отключенных систем и сработавшими оповещениями."
#: src/components/routes/domain.tsx
#~ msgid "WHOIS Info"
#~ msgstr ""
#: src/components/add-system.tsx
#: src/components/routes/settings/tokens-fingerprints.tsx
msgctxt "Button to copy install command"