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 "바이트 (KB/s, MB/s, GB/s)"
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 네트워크 I/O"
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 "하트비트 전송 성공"
#: 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 "알림을 생성하려 하시나요? 시스템 테이블의 종 <0/> 아
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 "{1}페이지 중 {0}페이지"
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 "테스트 하트비트 전송"
#: 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를 사용할 때 각 하트비트에는 시스템 상태 요약, 다운된 시스템 목록 및 트리거된 알림이 포함된 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"