chore: translate README.md to Russian
continuous-integration/drone/push Build is failing

This commit is contained in:
2026-10-29 00:48:43 +01:00
parent eb73c55ac2
commit 3f9ecc1113
+58 -59
View File
@@ -2,10 +2,10 @@
![htop-web](htop-web.gif) ![htop-web](htop-web.gif)
**A self-hosted, browser-based system monitoring dashboard powered by Angular and Spring Boot.** **Пользовательский веб-дашборд для мониторинга системы на базе Angular и Spring Boot.**
htop-web объединяет фронтенд на Angular и бэкенд на Spring Boot WebFlux в одном Docker-контейнере, предоставляя веб-интерфейс для просмотра метрик системы и информации о процессах.
htop-web packages its Angular frontend and Spring Boot WebFlux backend into a single Docker container, providing a web interface for viewing system metrics and process information.
<p align="center"> <p align="center">
<img alt="Java 21" src="https://img.shields.io/badge/Java-21-orange?logo=openjdk&logoColor=white"> <img alt="Java 21" src="https://img.shields.io/badge/Java-21-orange?logo=openjdk&logoColor=white">
<img alt="Spring Boot" src="https://img.shields.io/badge/Spring%20Boot-WebFlux-6DB33F?logo=springboot&logoColor=white"> <img alt="Spring Boot" src="https://img.shields.io/badge/Spring%20Boot-WebFlux-6DB33F?logo=springboot&logoColor=white">
@@ -13,55 +13,55 @@ htop-web packages its Angular frontend and Spring Boot WebFlux backend into a si
<img alt="Docker" src="https://img.shields.io/badge/Docker-Compose-2496ED?logo=docker&logoColor=white"> <img alt="Docker" src="https://img.shields.io/badge/Docker-Compose-2496ED?logo=docker&logoColor=white">
</p> </p>
## Demo ## Демо
https://htop-web.jambotron.com/ https://htop-web.jambotron.com/
## Features ## Возможности
- **System dashboard** — inspect system information through a browser. - **Системный дашборд** — просмотр информации о системе через браузер.
- **CPU and memory metrics** — view resource measurements exposed by the backend. - **Метрики CPU и памяти** — просмотр показателей использования ресурсов.
- **Process information** — inspect available system process details. - **Информация о процессах** — просмотр деталей системных процессов.
- **Linux system information** — collect additional operating-system metrics. - **Информация о Linux-системе** — дополнительные метрики операционной системы.
- **Reactive backend** — built with Spring WebFlux. - **Реактивный бэкенд** — реализован на Spring WebFlux.
- **Single-container architecture** — Angular production assets are served by Spring Boot. - **Архитектура одного контейнера** — статические файлы Angular обслуживаются Spring Boot.
- **Docker Compose deployment** — build, start, inspect and stop the application with standard Docker commands. - **Развёртывание через Docker Compose** — сборка, запуск, просмотр и остановка приложения стандартными командами Docker.
> **Monitoring scope:** metrics depend on the operating system, container runtime and granted permissions. Docker Desktop on Windows runs Linux containers in a virtualized environment; metrics from a container should not be assumed to represent the complete Windows host. > **Область мониторинга:** метрики зависят от операционной системы, среды контейнера и предоставленных прав. Docker Desktop на Windows запускает Linux-контейнеры в виртуальной среде; метрики из контейнера не обязательно отражают полную картину Windows-хоста.
## Technology Stack ## Технологический стек
| Layer | Technology | | Слой | Технология |
|---|---| |---|---|
| Frontend | Angular 22, TypeScript, RxJS | | Фронтенд | Angular 22, TypeScript, RxJS |
| Backend | Java 21, Spring Boot, Spring WebFlux | | Бэкенд | Java 21, Spring Boot, Spring WebFlux |
| System inspection | OSHI | | Сбор метрик | OSHI |
| Build | Gradle, npm | | Сборка | Gradle, npm |
| Deployment | Docker, Docker Compose | | Развёртывание | Docker, Docker Compose |
## Architecture ## Архитектура
```text ```text
Browser Браузер
| |
v v
+----------------------+ +----------------------+
| htop-web container | | контейнер htop-web |
| | | |
| Spring Boot | | Spring Boot |
| WebFlux | | WebFlux |
| | | | | |
| +-- REST API | | +-- REST API |
| +-- System data | | +-- Метрики |
| +-- Process data | | +-- Процессы |
| | | |
| Angular assets | | Angular (статика) |
+----------------------+ +----------------------+
``` ```
The Angular frontend is built for production and packaged into the Spring Boot application's static resources. Both parts are deployed together as one application container. Фронтенд на Angular собирается в production-режиме и упаковывается в статические ресурсы Spring Boot. Обе части развёртываются вместе как один контейнер.
## Simple Scenario of using ## Пример использования
```yaml ```yaml
services: services:
@@ -101,33 +101,32 @@ networks:
docker compose up -d docker compose up -d
``` ```
## Быстрый старт
## Quick Start ### Требования
### Requirements - Docker Engine или Docker Desktop.
- Docker Engine or Docker Desktop.
- Docker Compose. - Docker Compose.
No local Java or Node.js is required — the Dockerfile uses multi-stage build to compile everything inside Docker. Локальная установка Java или Node.js не требуется — Dockerfile использует multi-stage сборку, которая компилирует всё внутри Docker.
### 1. Build and start the container ### 1. Сборка и запуск контейнера
From the repository root, run a single command: Из корня репозитория выполните одну команду:
```bash ```bash
docker compose up -d --build docker compose up -d --build
``` ```
The `--build` flag triggers the multi-stage Docker build that compiles both the Angular frontend and the Spring Boot backend inside Docker. Флаг `--build` запускает multi-stage сборку Docker, которая компилирует фронтенд на Angular и бэкенд на Spring Boot внутри Docker.
The default Compose configuration maps host port `8088` to container port `8080`. По умолчанию конфигурация Compose маппит порт `8088` хоста на порт `8080` контейнера.
Open [http://localhost:8088](http://localhost:8088). Откройте [http://localhost:8088](http://localhost:8088).
### Alternative: Local Gradle build (requires Java 21 and Node.js) ### Альтернатива: локальная сборка через Gradle (требуется Java 21 и Node.js)
If you need to build locally (for example, to run tests): Если нужно собрать локально (например, для запуска тестов):
**Linux:** **Linux:**
@@ -145,22 +144,22 @@ cd backend
cd .. cd ..
``` ```
The configured Gradle build builds the frontend and packages its production assets with the backend. Настроенная сборка Gradle собирает фронтенд и упаковывает его production-активы вместе с бэкендом.
### 3. Inspect logs ### 3. Просмотр логов
```bash ```bash
docker compose ps docker compose ps
docker compose logs -f htop-web docker compose logs -f htop-web
``` ```
### 4. Stop the application ### 4. Остановка приложения
```bash ```bash
docker compose down docker compose down
``` ```
## Project Structure ## Структура проекта
```text ```text
htop-web/ htop-web/
@@ -184,24 +183,24 @@ htop-web/
└── README.md └── README.md
``` ```
## Documentation ## Документация
- [Installation](docs/INSTALLATION.md) - [Установка](docs/INSTALLATION.md)
- [Configuration](docs/CONFIGURATION.md) - [Конфигурация](docs/CONFIGURATION.md)
- [Architecture](docs/ARCHITECTURE.md) - [Архитектура](docs/ARCHITECTURE.md)
- [Development](docs/DEVELOPMENT.md) - [Разработка](docs/DEVELOPMENT.md)
- [Changelog](CHANGELOG.md) - [Список изменений](CHANGELOG.md)
- [Contributing](CONTRIBUTING.md) - [Участие в проекте](CONTRIBUTING.md)
## Security ## Безопасность
System monitoring data can reveal sensitive information about the environment. Before exposing htop-web beyond a trusted network: Данные мониторинга системы могут раскрыть конфиденциальную информацию об окружении. Перед тем как сделать htop-web доступным за пределами доверенной сети:
- Put it behind appropriate authentication and access controls. - Разместите его за аутентификацией и контролем доступа.
- Use HTTPS when accessed over an untrusted network. - Используйте HTTPS при доступе через недоверенную сеть.
- Grant the container only the permissions and host access it actually needs. - Предоставляйте контейнеру только те права и доступ к хосту, которые действительно нужны.
- Avoid publishing credentials, private keys or sensitive environment configuration. - Избегайте публикации учётных данных, приватных ключей или конфиденциальной конфигурации окружения.
## License ## Лицензия
No license has been declared yet. Until a license is added, do not assume that the source code is available for unrestricted reuse or redistribution. Лицензия ещё не указана. Пока лицензия не добавлена, не считайте исходный код доступным для неограниченного повторного использования или распространения.