refactor: migrate environment variables to .env file and update config.py
- Replace environment section in docker-compose.yml with env_file directive - Add all missing environment variables to config.py - Update env.example with proper variable definitions - Create .env file from env.example - Ensure all variables are properly loaded from .env file
This commit is contained in:
parent
f5926b80ad
commit
9ecfb9f360
@ -21,6 +21,7 @@ HEALTH_CHECK_TIMEOUT = int(os.getenv("LOGBOARD_HEALTH_CHECK_TIMEOUT", "2"))
|
||||
|
||||
# Настройки безопасности
|
||||
SECRET_KEY = os.getenv("SECRET_KEY", "your-secret-key-here-change-in-production")
|
||||
ENCRYPTION_KEY = os.getenv("ENCRYPTION_KEY", "your-encryption-key-here-change-in-production")
|
||||
ALGORITHM = "HS256"
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES = int(os.getenv("SESSION_TIMEOUT", "3600")) // 60 # 1 час по умолчанию
|
||||
|
||||
@ -40,3 +41,38 @@ templates = Jinja2Templates(directory="app/templates")
|
||||
# Директории
|
||||
SNAP_DIR = os.getenv("LOGBOARD_SNAPSHOT_DIR", "./snapshots")
|
||||
STATIC_DIR = os.getenv("LOGBOARD_STATIC_DIR", "./app/static")
|
||||
INDEX_HTML = os.getenv("LOGBOARD_INDEX_HTML", "./app/templates/index.html")
|
||||
|
||||
# Настройки веб-интерфейса
|
||||
WEB_TITLE = os.getenv("WEB_TITLE", "LogBoard+")
|
||||
WEB_DESCRIPTION = os.getenv("WEB_DESCRIPTION", "Веб-панель для просмотра логов микросервисов")
|
||||
WEB_VERSION = os.getenv("WEB_VERSION", "1.0.0")
|
||||
|
||||
# Настройки производительности
|
||||
MAX_CONNECTIONS = int(os.getenv("MAX_CONNECTIONS", "100"))
|
||||
CONNECTION_TIMEOUT = int(os.getenv("CONNECTION_TIMEOUT", "30"))
|
||||
READ_TIMEOUT = int(os.getenv("READ_TIMEOUT", "60"))
|
||||
|
||||
# Настройки аутентификации
|
||||
AUTH_ENABLED = os.getenv("AUTH_ENABLED", "true").lower() == "true"
|
||||
AUTH_METHOD = os.getenv("AUTH_METHOD", "jwt")
|
||||
|
||||
# Настройки уведомлений
|
||||
NOTIFICATIONS_ENABLED = os.getenv("NOTIFICATIONS_ENABLED", "false").lower() == "true"
|
||||
SMTP_HOST = os.getenv("SMTP_HOST", "")
|
||||
SMTP_PORT = int(os.getenv("SMTP_PORT", "587"))
|
||||
SMTP_USER = os.getenv("SMTP_USER", "")
|
||||
SMTP_PASS = os.getenv("SMTP_PASS", "")
|
||||
SMTP_FROM = os.getenv("SMTP_FROM", "")
|
||||
|
||||
# Настройки Docker
|
||||
DOCKER_HOST = os.getenv("DOCKER_HOST", "unix:///var/run/docker.sock")
|
||||
DOCKER_TLS_VERIFY = os.getenv("DOCKER_TLS_VERIFY", "")
|
||||
DOCKER_CERT_PATH = os.getenv("DOCKER_CERT_PATH", "")
|
||||
DOCKER_NETWORKS = os.getenv("DOCKER_NETWORKS", "iaas,infrastructure_iaas")
|
||||
|
||||
# Настройки логирования
|
||||
LOG_FORMAT = os.getenv("LOG_FORMAT", "json")
|
||||
|
||||
# Временная зона
|
||||
TZ_TS = os.getenv("TZ_TS", "Europe/Moscow")
|
||||
|
@ -2,82 +2,20 @@ services:
|
||||
logboard:
|
||||
build: .
|
||||
container_name: logboard
|
||||
environment:
|
||||
# Основные настройки приложения
|
||||
LOGBOARD_PORT: ${LOGBOARD_PORT:-9001}
|
||||
LOGBOARD_TAIL: ${LOGBOARD_TAIL:-500}
|
||||
LOGBOARD_USER: ${LOGBOARD_USER:-admin}
|
||||
LOGBOARD_PASS: ${LOGBOARD_PASS:-admin}
|
||||
LOGBOARD_PROJECTS: ${LOGBOARD_PROJECTS:-}
|
||||
LOGBOARD_SNAPSHOT_DIR: ${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots}
|
||||
LOGBOARD_INDEX_HTML: ${LOGBOARD_INDEX_HTML:-./templates/index.html}
|
||||
TZ_TS: ${TZ_TS:-Europe/Moscow}
|
||||
|
||||
# Настройки безопасности
|
||||
SECRET_KEY: ${SECRET_KEY:-your-secret-key-here}
|
||||
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-your-encryption-key-here}
|
||||
|
||||
# Настройки логирования
|
||||
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||||
LOG_FORMAT: ${LOG_FORMAT:-json}
|
||||
|
||||
# Настройки веб-интерфейса
|
||||
WEB_TITLE: ${WEB_TITLE:-LogBoard+}
|
||||
WEB_DESCRIPTION: ${WEB_DESCRIPTION:-Веб-панель для просмотра логов микросервисов}
|
||||
WEB_VERSION: ${WEB_VERSION:-1.0.0}
|
||||
|
||||
# Настройки производительности
|
||||
MAX_CONNECTIONS: ${MAX_CONNECTIONS:-100}
|
||||
CONNECTION_TIMEOUT: ${CONNECTION_TIMEOUT:-30}
|
||||
READ_TIMEOUT: ${READ_TIMEOUT:-60}
|
||||
|
||||
# Настройки аутентификации
|
||||
AUTH_ENABLED: ${AUTH_ENABLED:-true}
|
||||
AUTH_METHOD: ${AUTH_METHOD:-jwt}
|
||||
SESSION_TIMEOUT: ${SESSION_TIMEOUT:-3600}
|
||||
|
||||
# Настройки уведомлений
|
||||
NOTIFICATIONS_ENABLED: ${NOTIFICATIONS_ENABLED:-false}
|
||||
SMTP_HOST: ${SMTP_HOST:-}
|
||||
SMTP_PORT: ${SMTP_PORT:-587}
|
||||
SMTP_USER: ${SMTP_USER:-}
|
||||
SMTP_PASS: ${SMTP_PASS:-}
|
||||
SMTP_FROM: ${SMTP_FROM:-}
|
||||
|
||||
# Настройки Docker
|
||||
DOCKER_HOST: ${DOCKER_HOST:-unix:///var/run/docker.sock}
|
||||
DOCKER_TLS_VERIFY: ${DOCKER_TLS_VERIFY:-}
|
||||
DOCKER_CERT_PATH: ${DOCKER_CERT_PATH:-}
|
||||
DOCKER_NETWORKS: ${DOCKER_NETWORKS:-iaas,infrastructure_iaas}
|
||||
|
||||
# Настройки фильтрации контейнеров
|
||||
LOGBOARD_SKIP_UNHEALTHY: ${LOGBOARD_SKIP_UNHEALTHY:-true}
|
||||
LOGBOARD_CONTAINER_LIST_TIMEOUT: ${LOGBOARD_CONTAINER_LIST_TIMEOUT:-10}
|
||||
LOGBOARD_CONTAINER_INFO_TIMEOUT: ${LOGBOARD_CONTAINER_INFO_TIMEOUT:-3}
|
||||
LOGBOARD_HEALTH_CHECK_TIMEOUT: ${LOGBOARD_HEALTH_CHECK_TIMEOUT:-2}
|
||||
|
||||
# Настройки AJAX обновления
|
||||
LOGBOARD_AJAX_UPDATE_INTERVAL: ${LOGBOARD_AJAX_UPDATE_INTERVAL:-2000}
|
||||
|
||||
# Настройки режима отладки
|
||||
DEBUG_MODE: ${DEBUG_MODE:-false}
|
||||
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "${LOGBOARD_PORT:-9001}:${LOGBOARD_PORT:-9001}"
|
||||
|
||||
- "${LOGBOARD_PORT}:${LOGBOARD_PORT}"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./snapshots:/app/snapshots
|
||||
- ./:/app
|
||||
|
||||
restart: unless-stopped
|
||||
user: 0:0
|
||||
|
||||
networks:
|
||||
- iaas
|
||||
- infrastructure_iaas
|
||||
|
||||
|
||||
networks:
|
||||
iaas:
|
||||
external: true
|
||||
|
@ -37,12 +37,12 @@ TZ_TS=Europe/Moscow
|
||||
|
||||
# Фильтр по проекту Docker Compose (опционально)
|
||||
# Если указано, будут показаны только контейнеры из этого проекта
|
||||
# COMPOSE_PROJECT_NAME=myproj
|
||||
COMPOSE_PROJECT_NAME=myproj
|
||||
|
||||
# Настройки множественных проектов
|
||||
# Укажите проекты через запятую для отображения контейнеров из нескольких проектов
|
||||
# Если не указано или пустое значение - показываются ВСЕ контейнеры из всех проектов
|
||||
# LOGBOARD_PROJECTS=project1,project2,project3
|
||||
LOGBOARD_PROJECTS=
|
||||
|
||||
# Путь к Docker socket для подключения к Docker daemon
|
||||
DOCKER_HOST=unix:///var/run/docker.sock
|
||||
@ -102,9 +102,6 @@ WEB_VERSION=1.0.0
|
||||
# В продакшене обязательно установите в false
|
||||
DEBUG_MODE=false
|
||||
|
||||
# Уровень логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL)
|
||||
LOG_LEVEL=INFO
|
||||
|
||||
# =============================================================================
|
||||
# НАСТРОЙКИ ПРОИЗВОДИТЕЛЬНОСТИ
|
||||
# =============================================================================
|
||||
|
Loading…
x
Reference in New Issue
Block a user