Справочник переменных окружения и флагов рантайма
Все параметры конфигурации из config.yaml могут быть переопределены динамически с помощью переменных окружения с префиксом RUSEON_.
1. Таблица переменных окружения RUSEON Core
| Переменная окружения | Параметр в YAML | По умолчанию | Описание |
|---|---|---|---|
RUSEON_SERVER_HOST | server.host | "0.0.0.0" | IP-интерфейс для привязки сокетов |
RUSEON_SERVER_PORT | server.port | 8080 | Основной порт HTTP и WHEP |
RUSEON_SERVER_BASE_PATH | server.base_path | "" | Дополнительный префикс URL |
RUSEON_AUTH_ENABLED | auth.enabled | true | Главный переключатель JWT-аутентификации |
RUSEON_AUTH_JWT_SECRET | auth.jwt_secret | "" | 256-битный HMAC-ключ (не менее 32 символов) |
RUSEON_AUTH_TOKEN_EXPIRY | auth.token_expiry | "24h" | Срок действия токена авторизации |
RUSEON_WEBRTC_PUBLIC_IP | webrtc.public_ip | "" | Внешний IP для WebRTC SDP-ответов |
RUSEON_RECORDING_ENABLED | recording.enabled | true | Включение автоматической записи fMP4 |
RUSEON_RECORDING_STORAGE_PATH | recording.storage_path | "./data/recordings" | Директория файлового хранилища видео |
RUSEON_RECORDING_RETENTION_DAYS | recording.retention_days | 14 | Срок хранения видео в днях |
RUSEON_RECORDING_IO_ENGINE | recording.io_engine | "linux_direct" | Движок прямого ввода-вывода Linux |
RUSEON_LOGGING_LEVEL | logging.level | "info" | Уровень логирования (debug, info, warn) |
RUSEON_LOGGING_FORMAT | logging.format | "json" | Формат вывода логов (json или console) |
2. Переменные среды рантайма Go
Настройка рантайма Go для высоконагруженных контейнерных окружений:
| Переменная | Рекомендуемое значение | Назначение |
|---|---|---|
GOMEMLIMIT | 90% RAM контейнера (напр. 1800MiB) | Мягкий лимит памяти для сборщика мусора GC |
GOMAXPROCS | Квота CPU контейнера | Ограничение пула потоков ядрами контейнера |
GODEBUG | madvdontneed=1 | Немедленный возврат освобождённой памяти ядру ОС |