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")
|
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"
|
ALGORITHM = "HS256"
|
||||||
ACCESS_TOKEN_EXPIRE_MINUTES = int(os.getenv("SESSION_TIMEOUT", "3600")) // 60 # 1 час по умолчанию
|
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")
|
SNAP_DIR = os.getenv("LOGBOARD_SNAPSHOT_DIR", "./snapshots")
|
||||||
STATIC_DIR = os.getenv("LOGBOARD_STATIC_DIR", "./app/static")
|
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:
|
logboard:
|
||||||
build: .
|
build: .
|
||||||
container_name: logboard
|
container_name: logboard
|
||||||
environment:
|
env_file:
|
||||||
# Основные настройки приложения
|
- .env
|
||||||
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}
|
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "${LOGBOARD_PORT:-9001}:${LOGBOARD_PORT:-9001}"
|
- "${LOGBOARD_PORT}:${LOGBOARD_PORT}"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- ./snapshots:/app/snapshots
|
- ./snapshots:/app/snapshots
|
||||||
- ./:/app
|
- ./:/app
|
||||||
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
user: 0:0
|
user: 0:0
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
- iaas
|
- iaas
|
||||||
- infrastructure_iaas
|
- infrastructure_iaas
|
||||||
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
iaas:
|
iaas:
|
||||||
external: true
|
external: true
|
||||||
|
@ -37,12 +37,12 @@ TZ_TS=Europe/Moscow
|
|||||||
|
|
||||||
# Фильтр по проекту Docker Compose (опционально)
|
# Фильтр по проекту Docker Compose (опционально)
|
||||||
# Если указано, будут показаны только контейнеры из этого проекта
|
# Если указано, будут показаны только контейнеры из этого проекта
|
||||||
# COMPOSE_PROJECT_NAME=myproj
|
COMPOSE_PROJECT_NAME=myproj
|
||||||
|
|
||||||
# Настройки множественных проектов
|
# Настройки множественных проектов
|
||||||
# Укажите проекты через запятую для отображения контейнеров из нескольких проектов
|
# Укажите проекты через запятую для отображения контейнеров из нескольких проектов
|
||||||
# Если не указано или пустое значение - показываются ВСЕ контейнеры из всех проектов
|
# Если не указано или пустое значение - показываются ВСЕ контейнеры из всех проектов
|
||||||
# LOGBOARD_PROJECTS=project1,project2,project3
|
LOGBOARD_PROJECTS=
|
||||||
|
|
||||||
# Путь к Docker socket для подключения к Docker daemon
|
# Путь к Docker socket для подключения к Docker daemon
|
||||||
DOCKER_HOST=unix:///var/run/docker.sock
|
DOCKER_HOST=unix:///var/run/docker.sock
|
||||||
@ -102,9 +102,6 @@ WEB_VERSION=1.0.0
|
|||||||
# В продакшене обязательно установите в false
|
# В продакшене обязательно установите в false
|
||||||
DEBUG_MODE=false
|
DEBUG_MODE=false
|
||||||
|
|
||||||
# Уровень логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL)
|
|
||||||
LOG_LEVEL=INFO
|
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# НАСТРОЙКИ ПРОИЗВОДИТЕЛЬНОСТИ
|
# НАСТРОЙКИ ПРОИЗВОДИТЕЛЬНОСТИ
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user