feat: major improvements and fixes

- Fixed Docker permissions issue by running as root user
- Added DEBUG_MODE support with conditional Swagger docs and auto-reload
- Created start.sh script for conditional Uvicorn execution
- Removed verbose debug logs from WebSocket status endpoint
- Added comprehensive screenshots to documentation
- Enhanced help tooltip with full-screen modal design
- Added theme switcher to error page
- Updated documentation with local development and Docker benefits
- Fixed WebSocket status display issues
- Improved hotkey functionality and documentation
- Added detailed project descriptions for local dev and Docker users

Technical improvements:
- Dockerfile: removed appuser switch, simplified permissions
- docker-compose.yml: kept user: 0:0 for Docker socket access
- app.py: removed debug prints, added DEBUG_MODE support
- templates: enhanced UI/UX with better tooltips and themes
- docs: comprehensive updates with new screenshots and descriptions
This commit is contained in:
Сергей Антропов
2025-08-19 13:01:32 +03:00
parent 5c8efe2644
commit e80f665470
26 changed files with 1017 additions and 148 deletions

View File

@@ -14,7 +14,14 @@
## Обзор API
LogBoard+ предоставляет REST API и WebSocket API для работы с логами Docker контейнеров.
LogBoard+ предоставляет REST API и WebSocket API для работы с логами Docker контейнеров. API разработан для интеграции с системами мониторинга и автоматизации, а также для создания собственных клиентов.
### 🎯 **Применение API**
- **Интеграция с CI/CD** - автоматический мониторинг логов в пайплайнах
- **Собственные дашборды** - создание кастомных интерфейсов мониторинга
- **Автоматизация** - скрипты для анализа логов и алертинга
- **Локальная разработка** - интеграция с IDE и инструментами разработки
### Базовый URL
@@ -322,6 +329,33 @@ curl -X GET "http://localhost:9001/api/logs/abc123def456?tail=100&since=2024-01-
}
```
#### GET /api/websocket/status
Получение статуса WebSocket соединений.
**Заголовки:**
```
Authorization: Bearer <token>
```
**Ответ:**
```json
{
"status": "available",
"message": "WebSocket соединения доступны",
"containers_count": 5,
"timestamp": "2024-01-15T10:30:15.123456"
}
```
**Возможные статусы:**
- `available` - WebSocket соединения доступны, есть активные контейнеры
- `no_containers` - Нет доступных контейнеров для подключения
- `error` - Ошибка проверки статуса
**Примечание:** Когда сервер возвращает статус `available`, клиент всегда показывает `ws: on`, независимо от наличия активных клиентских соединений.
### Системные
#### GET /healthz

View File

@@ -97,6 +97,20 @@ LogBoard+ использует переменные окружения для н
| `WEB_DESCRIPTION` | Описание веб-интерфейса | `Веб-панель для просмотра логов микросервисов` | Нет |
| `WEB_VERSION` | Версия веб-интерфейса | `1.0.0` | Нет |
### Настройки режима отладки
| Переменная | Описание | По умолчанию | Обязательная |
|------------|----------|--------------|--------------|
| `DEBUG_MODE` | Режим отладки | `false` | Нет |
**Режим отладки включает:**
- **Auto-reload** - автоматическая перезагрузка при изменении кода
- **Swagger UI** - документация API по адресу `/docs`
- **ReDoc** - альтернативная документация по адресу `/redoc`
- **Подробное логирование** - детальные логи для отладки
**⚠️ Важно:** В продакшене обязательно установите `DEBUG_MODE=false`!
### Настройки уведомлений
| Переменная | Описание | По умолчанию | Обязательная |
@@ -331,6 +345,40 @@ LOG_LEVEL=DEBUG
# Безопасность
AUTH_ENABLED=true
SESSION_TIMEOUT=7200
# Режим отладки
DEBUG_MODE=true
```
### Режим отладки
```bash
# .env для режима отладки
LOGBOARD_PORT=9001
LOGBOARD_USER=admin
LOGBOARD_PASS=dev-password
SECRET_KEY=dev-secret-key
ENCRYPTION_KEY=dev-encryption-key
# Docker настройки
DOCKER_HOST=unix:///var/run/docker.sock
# Производительность
LOGBOARD_TAIL=50
LOGBOARD_AJAX_UPDATE_INTERVAL=500
LOG_LEVEL=DEBUG
# Безопасность
AUTH_ENABLED=true
SESSION_TIMEOUT=7200
# Режим отладки (ВКЛЮЧЕН)
DEBUG_MODE=true
# Команды для управления режимом отладки:
# make debug-on # Включить режим отладки
# make debug-off # Выключить режим отладки
# make debug-status # Проверить статус
```
### Тестирование
@@ -386,6 +434,9 @@ SESSION_TIMEOUT=3600
LOG_LEVEL=WARNING
LOG_FORMAT=json
# Режим отладки (ОБЯЗАТЕЛЬНО ВЫКЛЮЧЕН в продакшене)
DEBUG_MODE=false
# Уведомления
NOTIFICATIONS_ENABLED=true
SMTP_HOST=smtp.company.com

View File

@@ -5,7 +5,30 @@
## Обзор
LogBoard+ - это современная веб-панель для мониторинга и просмотра логов Docker контейнеров в реальном времени. Приложение предоставляет удобный веб-интерфейс для работы с логами микросервисов, поддерживает множественные проекты Docker Compose и включает в себя функции безопасности.
LogBoard+ - это современная веб-панель для мониторинга и просмотра логов Docker контейнеров в реальном времени. Приложение идеально подходит для локальной разработки, позволяя разработчикам всегда держать логи микросервисов перед глазами на втором мониторе.
### 🎯 **Идеально для локальной разработки**
LogBoard+ особенно полезен для разработчиков, работающих с микросервисной архитектурой:
- **Второй монитор** - Держите логи всех микросервисов постоянно видимыми
- **Быстрая отладка** - Мгновенный доступ к логам без переключения между терминалами
- **Мониторинг в реальном времени** - Видите проблемы сразу, как они возникают
- **Централизованный просмотр** - Все логи в одном месте, а не в десятках терминалов
### 🐳 **Оптимизирован для Docker и Docker Compose**
Если ваша инфраструктура основана на Docker и Docker Compose, LogBoard+ станет незаменимым инструментом:
- **Автоматическое обнаружение** всех проектов Docker Compose
- **Быстрый просмотр логов** всех контейнеров в проекте
- **Фильтрация по проектам** - легко переключаться между разными проектами
- **Multi-view режим** - одновременный просмотр логов нескольких контейнеров
- **Интеграция с Docker API** - прямая работа с контейнерами
### 🚀 **Производительность и удобство**
Приложение предоставляет удобный веб-интерфейс для работы с логами микросервисов, поддерживает множественные проекты Docker Compose и включает в себя функции безопасности.
## Быстрый старт
@@ -75,6 +98,39 @@ make up
- **[env.example](../env.example)** - Пример конфигурации
- **[Makefile](../Makefile)** - Команды управления
## Скриншоты
### 🔐 Страница входа
| Светлая тема | Темная тема |
|--------------|-------------|
| ![Вход - светлая тема](../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 режим](../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)
## Архитектура
### Технологический стек

View File

@@ -5,12 +5,41 @@
## Содержание
1. [Предварительные требования](#предварительные-требования)
2. [Установка](#установка)
3. [Настройка](#настройка)
4. [Первый запуск](#первый-запуск)
5. [Проверка установки](#проверка-установки)
6. [Настройка для продакшена](#настройка-для-продакшена)
1. [Обзор и применение](#обзор-и-применение)
2. [Предварительные требования](#предварительные-требования)
3. [Установка](#установка)
4. [Настройка](#настройка)
5. [Первый запуск](#первый-запуск)
6. [Проверка установки](#проверка-установки)
7. [Настройка для продакшена](#настройка-для-продакшена)
## Обзор и применение
### 🎯 **Идеально для локальной разработки**
LogBoard+ создан специально для разработчиков, работающих с микросервисной архитектурой. Если вы используете Docker и Docker Compose для локальной разработки, этот инструмент станет незаменимым помощником:
- **Второй монитор** - Держите логи всех микросервисов постоянно видимыми
- **Быстрая отладка** - Мгновенный доступ к логам без переключения между терминалами
- **Мониторинг в реальном времени** - Видите проблемы сразу, как они возникают
- **Централизованный просмотр** - Все логи в одном месте, а не в десятках терминалов
### 🐳 **Оптимизирован для Docker и Docker Compose**
Если ваша инфраструктура основана на Docker и Docker Compose, LogBoard+ предоставляет:
- **Автоматическое обнаружение** всех проектов Docker Compose
- **Быстрый просмотр логов** всех контейнеров в проекте
- **Фильтрация по проектам** - легко переключаться между разными проектами
- **Multi-view режим** - одновременный просмотр логов нескольких контейнеров
- **Интеграция с Docker API** - прямая работа с контейнерами
### 💡 **Сценарии использования**
- **Локальная разработка** - мониторинг логов микросервисов на втором мониторе
- **Отладка проблем** - быстрый поиск ошибок в логах
- **Тестирование** - наблюдение за поведением системы в реальном времени
- **Демонстрации** - показ работы системы клиентам или команде
## Предварительные требования