feat: добавлена поддержка внешних Docker сетей через переменные окружения

- Добавлена переменная DOCKER_NETWORKS в env.example
- Создан скрипт scripts/generate-compose.py для генерации docker-compose.yml
- Добавлена команда make generate для обновления конфигурации
- Обновлен docker-compose.yml с поддержкой внешних сетей
- Добавлена документация по настройке сетей в README.md
- Поддержка гибкой настройки сетей для разных проектов
- Пример: DOCKER_NETWORKS=iaas,infrastructure_iaas
- Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
Сергей Антропов
2025-08-16 11:39:01 +03:00
parent 5a44c3446f
commit 3654d6699e
5 changed files with 194 additions and 32 deletions

View File

@@ -3,37 +3,47 @@ services:
build: .
container_name: logboard
environment:
LOGBOARD_PORT: ${LOGBOARD_PORT:-9001}
LOGBOARD_TAIL: ${LOGBOARD_TAIL:-500}
LOGBOARD_USER: ${LOGBOARD_USER:-admin}
LOGBOARD_PASS: ${LOGBOARD_PASS:-s3cret-change-me}
COMPOSE_PROJECT_NAME: ${COMPOSE_PROJECT_NAME:-}
LOGBOARD_SNAPSHOT_DIR: ${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots}
LOGBOARD_INDEX_HTML: ${LOGBOARD_INDEX_HTML:-./templates/index.html}
TZ_TS: ${TZ_TS:-}
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:-basic}
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:-}
LOGBOARD_PORT: '9001'
LOGBOARD_TAIL: '500'
LOGBOARD_USER: admin
LOGBOARD_PASS: admin
COMPOSE_PROJECT_NAME: ''
LOGBOARD_SNAPSHOT_DIR: /app/snapshots
LOGBOARD_INDEX_HTML: ./templates/index.html
TZ_TS: Europe/Moscow
SECRET_KEY: your-secret-key-here
ENCRYPTION_KEY: your-encryption-key-here
LOG_LEVEL: INFO
LOG_FORMAT: json
WEB_TITLE: LogBoard+
WEB_DESCRIPTION: Веб-панель для просмотра логов микросервисов
WEB_VERSION: 1.0.0
MAX_CONNECTIONS: '100'
CONNECTION_TIMEOUT: '30'
READ_TIMEOUT: '60'
AUTH_ENABLED: 'true'
AUTH_METHOD: basic
SESSION_TIMEOUT: '3600'
NOTIFICATIONS_ENABLED: 'false'
SMTP_HOST: ''
SMTP_PORT: '587'
SMTP_USER: ''
SMTP_PASS: ''
SMTP_FROM: ''
ports:
- "${LOGBOARD_PORT:-9001}:${LOGBOARD_PORT:-9001}"
- 9001:9001
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./snapshots:${LOGBOARD_SNAPSHOT_DIR:-/app/snapshots}
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./snapshots:/app/snapshots
restart: unless-stopped
user: "0:0" # Запуск от root для доступа к Docker socket
user: 0:0
networks:
- default
- iaas
- infrastructure_iaas
networks:
default: {}
iaas:
external: true
infrastructure_iaas:
external: true