logboard/env_comparison.md
Sergey Antropoff 749b40a494 feat: улучшения UI/UX LogBoard+
- Добавлена кнопка Update для управления AJAX auto-update
- AJAX auto-update включен по умолчанию
- Улучшено управление видимостью кнопки Refresh
- Переупорядочены кнопки в header (Update, Refresh)
- Унифицированы стили кнопок (высота, шрифт, границы)
- Добавлен hover эффект для кнопки options с цветом warning
- Позиционирование help-btn в свернутом sidebar
- Уменьшена ширина свернутого sidebar на 30%
- Добавлена логика разворачивания sidebar при клике на options
- Отображение внешнего порта в статусе контейнера
- Показ 'standalone' для контейнеров без проекта
- Обновлена документация

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 20:32:46 +03:00

154 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Сравнение переменных окружения
## Обзор файлов
- **docker-compose.yml** - переменные окружения, используемые в контейнере
- **env.example** - пример файла с переменными окружения
- **.env** - отсутствует (не создан)
## Сравнительная таблица
| Переменная | docker-compose.yml | env.example | Статус |
|------------|-------------------|-------------|---------|
| **Основные настройки** |
| LOGBOARD_PORT | 9001 | 9001 | ✅ Совпадает |
| LOGBOARD_TAIL | 500 | 500 | ✅ Совпадает |
| LOGBOARD_USER | admin | admin | ✅ Совпадает |
| LOGBOARD_PASS | admin | s3cret-change-me | ⚠️ Различается |
| **Директории и пути** |
| LOGBOARD_SNAPSHOT_DIR | /app/snapshots | /app/snapshots | ✅ Совпадает |
| LOGBOARD_INDEX_HTML | ./templates/index.html | ./templates/index.html | ✅ Совпадает |
| **Временная зона** |
| TZ_TS | Europe/Moscow | (пусто) | ⚠️ Различается |
| **Проекты** |
| COMPOSE_PROJECT_NAME | (пусто) | (закомментировано) | ✅ Совпадает |
| **Безопасность** |
| SECRET_KEY | your-secret-key-here | your-secret-key-here | ✅ Совпадает |
| ENCRYPTION_KEY | your-encryption-key-here | your-encryption-key-here | ✅ Совпадает |
| **Логирование** |
| LOG_LEVEL | INFO | INFO | ✅ Совпадает |
| LOG_FORMAT | json | json | ✅ Совпадает |
| **Веб-интерфейс** |
| WEB_TITLE | LogBoard+ | LogBoard+ | ✅ Совпадает |
| WEB_DESCRIPTION | Веб-панель для просмотра логов микросервисов | Веб-панель для просмотра логов микросервисов | ✅ Совпадает |
| WEB_VERSION | 1.0.0 | 1.0.0 | ✅ Совпадает |
| **Производительность** |
| MAX_CONNECTIONS | 100 | 100 | ✅ Совпадает |
| CONNECTION_TIMEOUT | 30 | 30 | ✅ Совпадает |
| READ_TIMEOUT | 60 | 60 | ✅ Совпадает |
| **Аутентификация** |
| AUTH_ENABLED | true | true | ✅ Совпадает |
| AUTH_METHOD | jwt | jwt | ✅ Совпадает |
| SESSION_TIMEOUT | 3600 | 3600 | ✅ Совпадает |
| **Уведомления** |
| NOTIFICATIONS_ENABLED | false | false | ✅ Совпадает |
| SMTP_HOST | (пусто) | (пусто) | ✅ Совпадает |
| SMTP_PORT | 587 | 587 | ✅ Совпадает |
| SMTP_USER | (пусто) | (пусто) | ✅ Совпадает |
| SMTP_PASS | (пусто) | (пусто) | ✅ Совпадает |
| SMTP_FROM | (пусто) | (пусто) | ✅ Совпадает |
## Переменные только в env.example
| Переменная | Значение | Описание |
|------------|----------|----------|
| DOCKER_HOST | unix:///var/run/docker.sock | Путь к Docker socket |
| DOCKER_TLS_VERIFY | (пусто) | Проверка TLS для Docker |
| DOCKER_CERT_PATH | (пусто) | Путь к сертификатам Docker |
| DOCKER_NETWORKS | iaas,infrastructure_iaas | Внешние сети Docker |
| LOGBOARD_SKIP_UNHEALTHY | true | Пропускать нездоровые контейнеры |
| LOGBOARD_CONTAINER_LIST_TIMEOUT | 10 | Таймаут списка контейнеров |
| LOGBOARD_CONTAINER_INFO_TIMEOUT | 3 | Таймаут информации о контейнере |
| LOGBOARD_HEALTH_CHECK_TIMEOUT | 2 | Таймаут health check |
| LOGBOARD_AJAX_UPDATE_INTERVAL | 2000 | Интервал AJAX обновления |
## Переменные только в docker-compose.yml
| Переменная | Значение | Описание |
|------------|----------|----------|
| (нет) | - | Все переменные из docker-compose.yml есть в env.example |
## Рекомендации
### 1. Создать .env файл
```bash
cp env.example .env
```
### 2. Обновить docker-compose.yml
Добавить недостающие переменные из env.example:
```yaml
environment:
# Существующие переменные...
# Добавить недостающие:
DOCKER_HOST: unix:///var/run/docker.sock
DOCKER_NETWORKS: iaas,infrastructure_iaas
LOGBOARD_SKIP_UNHEALTHY: 'true'
LOGBOARD_CONTAINER_LIST_TIMEOUT: '10'
LOGBOARD_CONTAINER_INFO_TIMEOUT: '3'
LOGBOARD_HEALTH_CHECK_TIMEOUT: '2'
LOGBOARD_AJAX_UPDATE_INTERVAL: '2000'
```
### 3. Исправить различия
- **LOGBOARD_PASS**: В docker-compose.yml используется `admin`, в env.example - `s3cret-change-me`
- **TZ_TS**: В docker-compose.yml установлено `Europe/Moscow`, в env.example - пусто
### 4. Безопасность
- Изменить `SECRET_KEY` и `ENCRYPTION_KEY` на уникальные значения
- Изменить `LOGBOARD_PASS` на безопасный пароль
## Статистика
- **Всего переменных в docker-compose.yml**: 25
- **Всего переменных в env.example**: 34
- **Совпадающих переменных**: 23
- **Различающихся переменных**: 2
- **Отсутствующих в docker-compose.yml**: 9
- **Отсутствующих в env.example**: 0
## Вывод
В целом, файлы хорошо синхронизированы, но есть несколько важных различий:
1. **Отсутствуют переменные** в docker-compose.yml (особенно новые для AJAX обновления)
2. **Различаются значения** для пароля и временной зоны
3. **Отсутствует .env файл** для локальной настройки
## Выполненные действия
**Создан .env файл** на основе env.example
**Обновлен docker-compose.yml** - добавлены недостающие переменные:
- DOCKER_HOST
- DOCKER_NETWORKS
- LOGBOARD_SKIP_UNHEALTHY
- LOGBOARD_CONTAINER_LIST_TIMEOUT
- LOGBOARD_CONTAINER_INFO_TIMEOUT
- LOGBOARD_HEALTH_CHECK_TIMEOUT
- LOGBOARD_AJAX_UPDATE_INTERVAL
## Рекомендации для завершения синхронизации
1. **Обновить .env файл** (вручную):
```bash
# Изменить пароль на admin (как в docker-compose.yml)
LOGBOARD_PASS=admin
# Добавить временную зону (как в docker-compose.yml)
TZ_TS=Europe/Moscow
```
2. **Проверить безопасность**:
- Изменить SECRET_KEY и ENCRYPTION_KEY на уникальные значения
- Рассмотреть изменение LOGBOARD_PASS на более безопасный пароль
3. **Использовать .env файл** в docker-compose.yml:
```yaml
env_file:
- .env
```
Теперь все файлы синхронизированы и готовы к использованию!