services:
  logboard:
    image: docker.io/inecs/logboard:v1
    container_name: logboard
    environment:
      # ОСНОВНЫЕ НАСТРОЙКИ ПРИЛОЖЕНИЯ
      # Порт веб-интерфейса LogBoard+
      LOGBOARD_PORT: "9001"
      # Количество строк логов по умолчанию (tail)
      LOGBOARD_TAIL: "500"
      # Имя пользователя для входа
      LOGBOARD_USER: "admin"
      # Пароль для входа (обязательно поменять в продакшене)
      LOGBOARD_PASS: "admin"
      # Директория для снимков логов (в контейнере)
      LOGBOARD_SNAPSHOT_DIR: "/app/snapshots"
      # Директория для статических файлов
      LOGBOARD_STATIC_DIR: "/app/static"
      # Путь к HTML шаблону главной страницы
      LOGBOARD_INDEX_HTML: "./app/templates/index.html"
      # Таймзона для временных меток (например: Europe/Moscow, UTC)
      TZ_TS: "Europe/Moscow"

      # НАСТРОЙКИ DOCKER
      # Фильтр по проекту Docker Compose (опционально)
#       COMPOSE_PROJECT_NAME: "${COMPOSE_PROJECT_NAME}"
      # Перечень проектов для отображения (через запятую)
#       LOGBOARD_PROJECTS: "${LOGBOARD_PROJECTS}"
      # Путь к Docker socket / удалённому хосту
      DOCKER_HOST: "unix:///var/run/docker.sock"
      # Включить проверку TLS для Docker (удалённые хосты)
      DOCKER_TLS_VERIFY: ""
      # Путь к TLS сертификатам Docker
      DOCKER_CERT_PATH: ""
      # Внешние сети Docker (через запятую)
      DOCKER_NETWORKS: "iaas,infrastructure_iaas"

      # БЕЗОПАСНОСТЬ
      # Секретный ключ для JWT (обязательно поменять в продакшене)
      SECRET_KEY: "your-secret-key-here"
      # Ключ шифрования для чувствительных данных (обязательно поменять)
      ENCRYPTION_KEY: "your-encryption-key-here"

      # ЛОГИРОВАНИЕ
      # Уровень логирования (DEBUG, INFO, WARNING, ERROR)
      LOG_LEVEL: "INFO"
      # Формат логов (json, text)
      LOG_FORMAT: "json"

      # ВЕБ-ИНТЕРФЕЙС
      # Заголовок веб-интерфейса
      WEB_TITLE: "LogBoard+"
      # Описание веб-интерфейса
      WEB_DESCRIPTION: "Веб-панель для просмотра логов микросервисов"
      # Версия веб-интерфейса
      WEB_VERSION: "1.0.0"

      # РЕЖИМ РАЗРАБОТКИ
      # Режим отладки (true/false)
      DEBUG_MODE: "false"

      # ПРОИЗВОДИТЕЛЬНОСТЬ
      # Максимум одновременных подключений
      MAX_CONNECTIONS: "100"
      # Таймаут подключения (сек)
      CONNECTION_TIMEOUT: "30"
      # Таймаут чтения (сек)
      READ_TIMEOUT: "60"

      # ФИЛЬТРАЦИЯ КОНТЕЙНЕРОВ
      # Пропускать контейнеры с проблемным health check (true/false)
      LOGBOARD_SKIP_UNHEALTHY: "true"
      # Таймаут получения списка контейнеров (сек)
      LOGBOARD_CONTAINER_LIST_TIMEOUT: "10"
      # Таймаут получения информации о контейнере (сек)
      LOGBOARD_CONTAINER_INFO_TIMEOUT: "3"
      # Таймаут health check контейнера (сек)
      LOGBOARD_HEALTH_CHECK_TIMEOUT: "2"

      # АУТЕНТИФИКАЦИЯ
      # Включить аутентификацию (true/false)
      AUTH_ENABLED: "true"
      # Метод аутентификации (jwt)
      AUTH_METHOD: "jwt"
      # Время жизни сессии (сек)
      SESSION_TIMEOUT: "3600"

      # УВЕДОМЛЕНИЯ
      # Включить уведомления по email (true/false)
      NOTIFICATIONS_ENABLED: "false"
      # SMTP сервер
      SMTP_HOST: ""
      # Порт SMTP
      SMTP_PORT: "587"
      # Пользователь SMTP
      SMTP_USER: ""
      # Пароль SMTP
      SMTP_PASS: ""
      # Email отправителя
      SMTP_FROM: ""

      # AJAX ОБНОВЛЕНИЕ
      # Интервал 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

