Сергей Антропов c6310ec359 feat: добавлен env.example и команда make setup
- Создан файл env.example с полным набором переменных окружения
- Добавлена команда make setup для копирования env.example в .env
- Обновлен docker-compose.yml для использования переменных из .env
- Добавлен .gitignore для исключения .env и временных файлов
- Обновлен README.md с инструкциями по настройке переменных окружения
- Добавлена таблица основных переменных окружения
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:19:00 +03:00

LogBoard+

Автор: Сергей Антропов
Сайт: https://devops.org.ru

LogBoard+ — это веб-панель для просмотра логов микросервисов из docker-compose в реальном времени с поддержкой:

  • Вкладок по сервисам и репликам
  • Темная/светлая темы
  • Подсветка ANSI-цветов из логов
  • Фильтрация по уровням (debug, info, warn, error)
  • Снимки логов в файл (snapshot)
  • Объединение всех реплик сервиса в одну вкладку (aggregate)
  • Fan-in группировка нескольких сервисов в одну панель (group)
  • Цветовые теги по короткому ID контейнера
  • Sticky-фильтры по репликам
  • Пауза/возобновление стрима
  • Basic Auth для доступа
  • Автопереподключение вебсокетов
  • Поддержка нескольких клиентов одновременно

Установка и запуск

Быстрый старт с Makefile (рекомендуется)

# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus

# Показать доступные команды
make help

# Настроить переменные окружения
make setup

# Отредактировать .env файл под свои нужды (опционально)
# nano .env

# Собрать и запустить проект
make build
make up

# Открыть в браузере
http://localhost:9001

Команды Makefile

Команда Описание
make help Показать справку по всем командам
make setup Настроить переменные окружения (копировать env.example в .env)
make build Собрать Docker образ
make up Запустить сервисы в фоновом режиме
make down Остановить и удалить сервисы
make restart Перезапустить сервисы
make logs Показать логи сервисов в реальном времени
make logs-tail Показать последние 100 строк логов
make status Показать статус сервисов
make clean Остановить сервисы и удалить образы
make shell Подключиться к контейнеру
make dev Запуск в режиме разработки (с выводом логов)
make rebuild Пересобрать и запустить сервисы

Настройка переменных окружения

Проект использует файл .env для хранения всех настроек. Для настройки:

  1. Автоматическая настройка:

    make setup
    
  2. Ручная настройка:

    cp env.example .env
    nano .env  # или любой другой редактор
    

Основные переменные окружения:

Переменная Описание Значение по умолчанию
LOGBOARD_PORT Порт веб-интерфейса 9001
LOGBOARD_USER Имя пользователя для Basic Auth admin
LOGBOARD_PASS Пароль для Basic Auth s3cret-change-me
LOGBOARD_TAIL Количество строк истории 500
LOGBOARD_SNAPSHOT_DIR Директория для снимков /app/snapshots
COMPOSE_PROJECT_NAME Фильтр по проекту Docker Compose (пусто)
SECRET_KEY Секретный ключ для шифрования your-secret-key-here
ENCRYPTION_KEY Ключ шифрования your-encryption-key-here

⚠️ Важно: Измените значения LOGBOARD_PASS, SECRET_KEY и ENCRYPTION_KEY в продакшене!

Классический способ

# Распаковать проект
unzip logboard_plus_fanin_groups.zip
cd logboard_plus

# Настроить переменные окружения
cp env.example .env
# Отредактировать .env файл

# Запуск через docker-compose
docker compose up --build -d

# Открыть в браузере
http://localhost:9001

По умолчанию логин/пароль для Basic Auth задаются в docker-compose.yml:

environment:
  - LB_USER=admin
  - LB_PASS=admin

Интерфейс

Верхняя панель

  • Тема — переключатель тёмной/светлой темы
  • aggregate — собирает все реплики сервиса в одну вкладку
  • group — собирает несколько сервисов в один поток логов
  • snapshot — сохраняет текущие логи этой панели в файл
  • tail — количество строк истории при подключении

Панель вкладок

  • Вкладки по сервисам и репликам
  • Клик по вкладке — открыть поток логов
  • Цветной чип [id] — уникальная реплика, цвет закреплён
  • Чекбоксы под вкладками — фильтр по репликам

Логи

  • Цвета в логах из ANSI-кодов
  • Фильтрация по уровню (debug, info, warn, error)
  • Пауза/возобновление стрима
  • При выделении текста появляется кнопка "Копировать"

Fan-in группировка

Позволяет объединить несколько разных сервисов в один поток:

  1. Нажмите кнопку group вверху
  2. Введите имена сервисов через запятую (например: api, worker, scheduler)
  3. Откроется панель с логами всех указанных сервисов, с префиксом [id service]
  4. Можно фильтровать по конкретным репликам внизу

Советы

  • Если контейнер перезапустился — поток автоматически переподключается
  • Можно открыть несколько вкладок браузера с разными сервисами — всё работает параллельно
  • Для больших проектов удобно держать одну панель с aggregate, вторую — с group по критическим сервисам

Лицензия

MIT

Скриншоты

Тёмная тема:

Dark

Светлая тема:

Light

Description
LogBoard+ - это современная веб-панель для мониторинга и просмотра логов Docker контейнеров в реальном времени. Приложение идеально подходит для локальной разработки, позволяя разработчикам всегда держать логи микросервисов перед глазами на втором мониторе.
https://devops.org.ru
Readme MIT 6.7 MiB
Languages
JavaScript 60.4%
Python 15.8%
CSS 15.6%
HTML 5.5%
Makefile 2.2%
Other 0.5%