docs: update README and docs with strict Quick Start (docker-compose-prod), fix WebSocket paths, enforce strict tone

This commit is contained in:
2025-09-04 13:43:10 +03:00
parent afa2829872
commit 7ccdf75bab
15 changed files with 825 additions and 131 deletions

135
README.md
View File

@@ -15,7 +15,7 @@
LogBoard+ - это современная веб-панель для мониторинга и просмотра логов Docker контейнеров в реальном времени. Приложение идеально подходит для локальной разработки, позволяя разработчикам всегда держать логи микросервисов перед глазами на втором мониторе.
### 🎯 **Идеально для локальной разработки**
### Идеально для локальной разработки
LogBoard+ особенно полезен для разработчиков, работающих с микросервисной архитектурой:
@@ -24,7 +24,7 @@ LogBoard+ особенно полезен для разработчиков, р
- **Мониторинг в реальном времени** - Видите проблемы сразу, как они возникают
- **Централизованный просмотр** - Все логи в одном месте, а не в десятках терминалов
### 🐳 **Оптимизирован для Docker и Docker Compose**
### Оптимизирован для Docker и Docker Compose
Если ваша инфраструктура основана на Docker и Docker Compose, LogBoard+ станет незаменимым инструментом:
@@ -34,7 +34,7 @@ LogBoard+ особенно полезен для разработчиков, р
- **Multi-view режим** - одновременный просмотр логов нескольких контейнеров
- **Интеграция с Docker API** - прямая работа с контейнерами
### 🚀 **Производительность и удобство**
### Производительность и удобство
Приложение предоставляет удобный веб-интерфейс для работы с логами микросервисов, поддерживает множественные проекты Docker Compose и включает в себя функции безопасности.
@@ -51,35 +51,35 @@ LogBoard+ особенно полезен для разработчиков, р
## Скриншоты
### 🔐 Страница входа
### Страница входа
| Светлая тема | Темная тема |
|--------------|-------------|
| ![Вход - светлая тема](screenshots/login-white.png) | ![Вход - темная тема](screenshots/login-dark.png) |
### 📊 Основной интерфейс
### Основной интерфейс
| Светлая тема | Темная тема |
|--------------|-------------|
| ![Single View - светлая тема](screenshots/single-view-white.png) | ![Single View - темная тема](screenshots/single-view-dark.png) |
### 🖥️ Multi-view режим
### Multi-view режим
![Multi-view режим](screenshots/multi-view.png)
### 📋 Карточки контейнеров
### Карточки контейнеров
![Карточки контейнеров](screenshots/container-cards.png)
### 📁 Проекты
### Проекты
![Список проектов](screenshots/projects.png)
### ⚙️ Настройки
### Настройки
![Панель настроек](screenshots/options.png)
### 🔧 Сворачиваемая боковая панель
### Сворачиваемая боковая панель
![Сворачиваемая боковая панель](screenshots/collapse-sidebar.png)
### Справка
### Справка
![Окно справки](screenshots/help.png)
### 🚨 Страницы ошибок
### Страницы ошибок
![Страницы ошибок](screenshots/error%20pages.png)
## Быстрый старт
@@ -91,7 +91,7 @@ LogBoard+ особенно полезен для разработчиков, р
- 1 GB RAM
- 1 CPU core
### Установка и запуск
### Вариант A: Локальный запуск (разработка)
1. **Клонирование репозитория**
```bash
@@ -99,17 +99,6 @@ LogBoard+ особенно полезен для разработчиков, р
cd logboard
```
2. **Настройка переменных окружения**
```bash
cp env.example .env
# Отредактируйте .env файл при необходимости
```
3. **Запуск приложения**
```bash
docker compose up --build -d
```
2. **Настройка переменных окружения**
```bash
make setup
@@ -126,6 +115,88 @@ LogBoard+ особенно полезен для разработчиков, р
http://localhost:9001
```
### Вариант B: Продакшен через docker-compose-prod.yaml
Ниже приведен пример конфигурации из `docker-compose-prod.yaml` для запуска готового образа в продакшене:
```yaml
services:
logboard:
image: docker.io/inecs/logboard:v1
container_name: logboard
environment:
# ОСНОВНЫЕ НАСТРОЙКИ ПРИЛОЖЕНИЯ
LOGBOARD_PORT: "9001"
LOGBOARD_TAIL: "500"
LOGBOARD_USER: "admin"
LOGBOARD_PASS: "admin"
LOGBOARD_SNAPSHOT_DIR: "/app/snapshots"
LOGBOARD_STATIC_DIR: "/app/static"
LOGBOARD_INDEX_HTML: "./app/templates/index.html"
TZ_TS: "Europe/Moscow"
# НАСТРОЙКИ DOCKER
DOCKER_HOST: "unix:///var/run/docker.sock"
DOCKER_TLS_VERIFY: ""
DOCKER_CERT_PATH: ""
DOCKER_NETWORKS: "iaas,infrastructure_iaas"
# БЕЗОПАСНОСТЬ
SECRET_KEY: "your-secret-key-here"
ENCRYPTION_KEY: "your-encryption-key-here"
# ЛОГИРОВАНИЕ
LOG_LEVEL: "INFO"
LOG_FORMAT: "json"
# ВЕБ-ИНТЕРФЕЙС
WEB_TITLE: "LogBoard+"
WEB_DESCRIPTION: "Веб-панель для просмотра логов микросервисов"
WEB_VERSION: "1.0.0"
# РЕЖИМ РАЗРАБОТКИ
DEBUG_MODE: "false"
# ПРОИЗВОДИТЕЛЬНОСТЬ
MAX_CONNECTIONS: "100"
CONNECTION_TIMEOUT: "30"
READ_TIMEOUT: "60"
# ФИЛЬТРАЦИЯ КОНТЕЙНЕРОВ
LOGBOARD_SKIP_UNHEALTHY: "true"
LOGBOARD_CONTAINER_LIST_TIMEOUT: "10"
LOGBOARD_CONTAINER_INFO_TIMEOUT: "3"
LOGBOARD_HEALTH_CHECK_TIMEOUT: "2"
# АУТЕНТИФИКАЦИЯ
AUTH_ENABLED: "true"
AUTH_METHOD: "jwt"
SESSION_TIMEOUT: "3600"
# УВЕДОМЛЕНИЯ
NOTIFICATIONS_ENABLED: "false"
SMTP_HOST: ""
SMTP_PORT: "587"
SMTP_USER: ""
SMTP_PASS: ""
SMTP_FROM: ""
# AJAX ОБНОВЛЕНИЕ
LOGBOARD_AJAX_UPDATE_INTERVAL: "2000"
ports:
- "9001:9001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./snapshots:/app/snapshots
restart: unless-stopped
user: 0:0
```
Рекомендации для продакшена:
- Используйте файл `.env` для значений чувствительных переменных (`SECRET_KEY`, `ENCRYPTION_KEY`, `LOGBOARD_PASS`) и не храните их в открытом виде в compose-файле.
- Настройте reverse proxy (Nginx/Traefik) и включите HTTPS.
### Учетные данные по умолчанию
- **Пользователь:** `admin`
@@ -231,23 +302,23 @@ logboard/
#### Контейнеры и сервисы
- `GET /api/services` - Список контейнеров
- `GET /api/projects` - Список проектов Docker Compose
- `GET /api/containers/services` - Список контейнеров
- `GET /api/containers/projects` - Список проектов Docker Compose
- `GET /api/logs/{container_id}` - Логи контейнера
- `GET /api/logs/stats/{container_id}` - Статистика логов
#### Управление
- `GET /api/settings` - Настройки приложения
- `GET /api/excluded-containers` - Список исключенных контейнеров
- `POST /api/excluded-containers` - Обновление исключенных контейнеров
- `POST /api/snapshot` - Создание снимка логов
- `GET /api/containers/excluded` - Список исключенных контейнеров
- `POST /api/containers/excluded` - Обновление исключенных контейнеров
- `POST /api/logs/snapshot` - Создание снимка логов
### WebSocket API
- `ws://host:port/ws/logs/{container_id}` - Логи отдельного контейнера
- `ws://host:port/ws/fan/{service_name}` - Логи сервиса (все реплики)
- `ws://host:port/ws/fan_group` - Логи группы сервисов
- `ws://host:port/api/websocket/logs/{container_id}` - Логи отдельного контейнера
- `ws://host:port/api/websocket/fan/{service_name}` - Логи сервиса (все реплики)
- `ws://host:port/api/websocket/fan_group` - Логи группы сервисов
## Конфигурация