# Сравнение переменных окружения ## Обзор файлов - **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 ``` Теперь все файлы синхронизированы и готовы к использованию!