services:
  logboard:
    image: REGISTRY_PLACEHOLDER/IMAGE_NAME_PLACEHOLDER:IMAGE_TAG_PLACEHOLDER
    container_name: logboard
    environment:
      # ОСНОВНЫЕ НАСТРОЙКИ ПРИЛОЖЕНИЯ
      # Порт веб-интерфейса LogBoard+
      LOGBOARD_PORT: "${LOGBOARD_PORT}"
      # Количество строк логов по умолчанию (tail)
      LOGBOARD_TAIL: "${LOGBOARD_TAIL}"
      # Имя пользователя для входа
      LOGBOARD_USER: "${LOGBOARD_USER}"
      # Пароль для входа (обязательно поменять в продакшене)
      LOGBOARD_PASS: "${LOGBOARD_PASS}"
      # Директория для снимков логов (в контейнере)
      LOGBOARD_SNAPSHOT_DIR: "${LOGBOARD_SNAPSHOT_DIR}"
      # Директория для статических файлов
      LOGBOARD_STATIC_DIR: "${LOGBOARD_STATIC_DIR}"
      # Путь к HTML шаблону главной страницы
      LOGBOARD_INDEX_HTML: "${LOGBOARD_INDEX_HTML}"
      # Таймзона для временных меток (например: Europe/Moscow, UTC)
      TZ_TS: "${TZ_TS}"

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

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

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

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

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

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

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

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

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

      # AJAX ОБНОВЛЕНИЕ
      # Интервал AJAX обновления логов (мс)
      LOGBOARD_AJAX_UPDATE_INTERVAL: "${LOGBOARD_AJAX_UPDATE_INTERVAL}"

    ports:
      - "${LOGBOARD_PORT}:${LOGBOARD_PORT}"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./snapshots:/app/snapshots
    restart: unless-stopped
    user: 0:0

