Справочник конфигурации
Все параметры ниже существуют в коде (или, где отмечено, только на
уровне compose/установщика). Сгруппированы по категориям; «Издание»
помечает EE-only. Если не отмечено иное, смена значения требует
пересоздания контейнеров (docker compose up -d).
Приложение
Параметр
Обязателен
По умолчанию
Описание
Издание
APP_ENV
рекомендован
dev
dev/development/test/production. В production: ENCRYPTION_KEY обязателен, COOKIE_SECURE включается по умолчанию, rate-limiter активен
оба
UPLOAD_ROOT
нет
/data/uploads
Корень загрузок, loot-файлов, audit JSONL, сгенерированных ключей
оба
WORKER_BACKEND
нет
internal
internal (in-process пул) или arq (воркер с очередью в Redis)
оба
WORKER_POOL_MAX_WORKERS
нет
8
Всего слотов задач
оба
WORKER_POOL_MAX_PER_PROJECT
нет
3
Слотов задач на проект
оба
MODULES_DIR
нет
/app/modules
Каталог модулей-плагинов (compose монтирует ./modules read-only)
оба
SECURE_DELETE
нет
false
shred -uzn 3 (fallback: одна проходка нулями) перед удалением файлов
оба
ENABLE_API_DOCS
нет
false
Открывает /docs, /redoc, /openapi.json (выключено по умолчанию — они монтируются вне auth-префикса /api)
оба
LOG_LEVEL / LOG_FORMAT
нет
INFO / text
Уровень логирования бэкенда; вариант json
оба
База данных
Параметр
Обязателен
По умолчанию
Описание
Издание
DATABASE_URL
да
sqlite:// (dev)
SQLAlchemy URL; compose собирает его из DB_*
оба
DB_USER / DB_PASSWORD / DB_NAME
compose: да
umbryx / — / umbryx
Части DSN + учётные данные сервиса PostgreSQL
оба
DB_HOST / DB_PORT
нет
db / 5432
Указывайте VIP для внешних/HA-кластеров
оба
DB_SSLMODE
нет
prefer
Например require для HA-кластеров
оба
DATABASE_REPLICA_URL
нет
—
Движок read-replica для тяжёлых списков
оба
DATABASE_POOL_SIZE / _MAX_OVERFLOW / _POOL_RECYCLE
нет
10 / 20 / 1800
Настройки пула соединений
оба
DATABASE_STATEMENT_TIMEOUT
нет
30000
statement_timeout PostgreSQL, мс (0 — выключить)
оба
POSTGRES_PASSWORD
prod-compose: да
—
Используется сервисом db в prod/demo-вариантах compose
оба
PGBOUNCER_POOL_SIZE / PGBOUNCER_MAX_CLIENT_CONN
нет
25 / 200
Опциональный PgBouncer (сервис закомментирован)
оба
Аутентификация и сессии
Параметр
Обязателен
По умолчанию
Описание
Издание
JWT_SECRET
да
автогенерация с записью в /data/.jwt_secret
Ключ подписи HS256; известные слабые значения отвергаются
оба
JWT_EXPIRE_HOURS
нет
8
Время жизни access-токена
оба
JWT_REFRESH_EXPIRE_HOURS
нет
24
Время жизни refresh-токена (ротация)
оба
SETUP_TOKEN
рекомендован
—
Закрывает токеном first-run /api/auth/setup
оба
ADMIN_USERNAME / ADMIN_PASSWORD
первый старт
admin / генерируется
Bootstrap-админ (только при пустой таблице users)
оба
COOKIE_SECURE
нет
авто (true в production)
Флаг Secure у session cookie
оба
CORS_ORIGINS
нет
пусто (same-origin)
Origins через запятую; wildcard никогда
оба
REDIS_URL
compose: да
redis://localhost:6379/0
Включает JWT-blacklist, блокировку при неудачных входах, WS presence, leader election
оба
REDIS_PASSWORD
нет
пусто
Пароль Redis; применяется, когда REDIS_URL не содержит учётные данные в самой строке (redis_factory.py)
оба
JWT_BLACKLIST_FAIL_CLOSED
нет
true
Отвергать токены при недоступном Redis
оба
Криптография
Параметр
Обязателен
По умолчанию
Описание
Издание
ENCRYPTION_KEY
да в production
dev: автогенерация /data/secret.key
Fernet-ключ (KEK) для шифрования учётных данных/секретов; отсутствие или невалидность в production — ошибка старта
оба
PLUGIN_SIGNING_KEY
для подписи
—
Включает подпись модулей (POST /api/admin/modules/sign)
оба
PLUGIN_REQUIRE_SIGNATURE
нет
true
Отвергать неподписанные загрузки модулей
оба
SYNC_SIGNING_KEY
для sync
— (sync выключен)
HMAC для sync между экземплярами; должен совпадать на всех экземплярах
оба
AUDIT_INTEGRITY_KEY
нет
—
HMAC-отпечатки событий timeline (GET /api/admin/audit/verify)
оба
OLD_KEY / NEW_KEY
только rekey
—
Потребляются backend/scripts/rekey.py при ротации ключа
оба
Интеграции и инфраструктура
Параметр
Обязателен
По умолчанию
Описание
Издание
WEBHOOK_HMAC_SECRET
для вебхуков
— (вебхуки выключены)
Fail-closed HMAC для /api/webhooks/{token}
оба
PUBLIC_BASE_URL
рекомендован
из Host запроса
Канонический внешний URL (redirect_uri OIDC, колбэки workstation)
оба
PLATFORM_HOST
нет
пусто
Запасная база колбэков для хуков действий workstation (http://<host>:8888), используется, когда PUBLIC_BASE_URL не задан (core/workstation/actions.py)
оба
OUTBOUND_PROXY
нет
— (или настройка в БД)
HTTP(S)-прокси для исходящего трафика
оба
REGISTRY_URL / REGISTRY_EXTERNAL_URL / REGISTRY_USER / REGISTRY_PASS
нет
http://registry:5000 / — / ""
Внутренний Docker-реестр для infra-образов
оба
KUBECONFIG_PATH / KUBECTL_TIMEOUT
нет
— / 60
Доступ kubectl для методов развёртывания k8s
оба
EVIDENCE_BACKEND + S3_* / EVIDENCE_LOCAL_DIR
для S3
local / /data/evidence
Бэкенд хранилища evidence (S3/Minio)
оба
DNS_SERVER_1 / DNS_SERVER_2
нет
8.8.8.8 / 1.1.1.1
DNS для контейнера бэкенда (уровень compose)
оба
DOCKER_HOST / DOCKER_SOCKET
нет
unix:///var/run/docker.sock
Доступ к Docker API для управления экземплярами
оба
Аудит и логирование
Параметр
Обязателен
По умолчанию
Описание
Издание
AUDIT_LOG_DIR
нет
UPLOAD_ROOT/audit
Append-only JSONL-зеркало событий timeline
оба
AUDIT_S3_BUCKET / AUDIT_S3_PREFIX / AUDIT_S3_ENDPOINT_URL + AWS_*
для S3
— / timeline/
WORM-форвардинг audit-событий
оба
Высокая доступность (сторона приложения; рецепт — в EE)
Параметр
По умолчанию
Описание
REDIS_SENTINEL_HOSTS
—
Включает Sentinel (приоритетнее REDIS_URL)
REDIS_SENTINEL_MASTER
mymaster (рецепт: umbryx-master)
Имя отслеживаемого master
REDIS_SENTINEL_PASSWORD
—
Аутентификация Sentinel
HA_MONITOR_HOST/PORT/DB/USER/PASSWORD
— / 5433 / pg_auto_failover
Read-only монитор pg_auto_failover для HA-страницы
Все пять читаются кодом обоих изданий; упакованный HA-рецепт
(docker-compose.ha.yml, режимы установщика) — EE.
Только EE
Параметр
Обязателен
По умолчанию
Описание
INFRA_TLS_VERIFY
нет
true
Верификация TLS в infra-provisioning (opt-out для lab-самоподписанных; подключение C2-агента всегда верифицируется)
INFRA_SSH_KNOWN_HOSTS
нет
/data/infra_known_hosts
TOFU known-hosts для infra SSH
UMBRYX_VERIFY_DEPLOY
нет
1
Проверка работоспособности после развёртывания (вкл/выкл)
Umbryx_STATE_DIR
нет
/data/infra_states
Каталог состояния cloud-provisioning (нестандартный регистр имени — известная особенность исходников)
LICENSE_SERVER_URL
нет
https://update.umbryx.pro
Endpoint license-heartbeat (читается кодом обоих изданий; лицензию продлевает токеном только EE)
Порты и build-time (только compose-слой)
Параметр
По умолчанию
Описание
PORT
3000
Публикуемый HTTP-порт
HTTPS_PORT
3443
Опциональный вариант терминации TLS (закомментирован; используйте reverse proxy)
DATA_DIR
./data
Хост-путь, монтируемый в /data
BACKEND_IMAGE / FRONTEND_IMAGE / IMAGE_TAG
umbryx-backend / umbryx-frontend / latest
Развёртывание готовых образов (лицензируемый реестр EE)
UMBRYX_EDITION
авто (по дереву)
Издание фронта на этапе сборки (ce форсирует Core)
Все секреты в примерах — плейсхолдеры; никогда не коммитьте реальные
значения. Ротируйте всё, что идёт в .env.example, до промышленной эксплуатации.