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

7.1 KiB
Raw Blame History

Сравнение переменных окружения

Обзор файлов

  • 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 файл

cp env.example .env

2. Обновить docker-compose.yml

Добавить недостающие переменные из env.example:

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 файл (вручную):

    # Изменить пароль на 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:

    env_file:
      - .env
    

Теперь все файлы синхронизированы и готовы к использованию!