Skip to main content
Skip table of contents

Env-перемeнные

CODE
APP_NAME=VMS # название проекта
APP_ENV=production # настройка окружения; некоторый код может выполняться только на определённом окружении
APP_KEY=  # генерируется при установке, нужен для внутренней работы Laravel
APP_DEBUG=false  # выключение/включение дебага
MINIMAL_VERSION=24.12.1.0 # минимально поддерживаемая версия клиентов

# Типы пользователей в системе
USER_TYPES=user # Данных типов пользователей можно будет создавать через интеграционный API

# Список типов серверов в системе
SERVER_TYPES=media_server_v2 # Список доступных медиа серверов для создания в VMS

# Версия текущего релиза
RELEASE=0.0.0.0 # номер текущего релиза используется для sentry

# Данные о лицензии приложения
LICENSE_SOURCE= # возможные значения: file и server
LICENSE_URL= # URL лицензии, которую нужно использовать. Это параметр, если LICENSE_SOURCE=server
LICENSE_APP_NAME= # код приложения; это параметр, если LICENSE_SOURCE=server
LICENSE_APP_SECRET= # ключ приложения; это параметр, если LICENSE_SOURCE=server
LICENSE_PUBLIC_KEY= # ключ для файла лицензии; это параметр, если LICENSE_SOURCE=file

# Настройки локали 
AVAILABLE_LOCALES_AND_DIRECTIONS=ru_ltr,en_ltr # для добавления нового язык или изменения настроек не по умолчанию, поменяйте эту переменную до развертывания стенда. Порядок указанных языков влияет на отображение в интерфейсе.Направление для языка может быть ltr (слева направо) или rtl (справа направо).
FALLBACK_LOCALE=ru # если для выбранного языка нет перевода, по умолчанию будет использоваться этот язык. 
LOCALE=ru # язык по умолчанию
TIMEZONE=UTC # часовой пояс, в котором будут храниться все даты в базе данных

# Учетные данные базы данных
DB_CONNECTION=mysql # драйвер для работы с базой данных
DB_HOST=mysql-server # host для подключения к базе данных
DB_PORT=3306 # порт для подключения к базе данных
DB_CRITICAL_PORT=3306 # порт для подключения к master-ноде базы данных. Нужен, если база данных работает в режиме кластера
DB_DATABASE=vms # имя базы данных для подключения
DB_USERNAME=vms # пользователь для подключения к базе данных
DB_PASSWORD=vms # пароль для подключения к  базе данных
#error compare mysql 8 version (mysql 8 not support NO_AUTO_CREATE_USER mode)
DB_MYSQL_MODES=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

DB_TOKEN_CONNECTION_CREATE=critical
DB_TOKEN_CONNECTION_MODEL=critical

# Clickhouse-настройки
CLICKHOUSE_HOST=127.0.0.1
CLICKHOUSE_PORT=8123
CLICKHOUSE_DATABASE=vms
CLICKHOUSE_USERNAME=vms
CLICKHOUSE_PASSWORD=vms
CLICKHOUSE_TIMEOUT=10
CLICKHOUSE_PROTOCOL=http

# DHCP-параметры
DB_DHCP_HOST=mysql-server
DB_DHCP_PORT=3306
DB_DHCP_DATABASE=kea_dhcp
DB_DHCP_USERNAME=kea_dhcp
DB_DHCP_PASSWORD=kea_dhcp

# Параметры контроллера
CONTROLLER_ENDPOINT=http://localhost/rpc
CONTROLLER_TIMEOUT=5
CONTROLLER_TOKEN_LIFE_TIME=10800 # время жизни токена для доступа к видео потокам, устанавливается в секундах. По умолчанию 3 часа

# Настройки хранилища
FILESYSTEM_DISK_PUBLIC=public # если нужно использовать s3 сторадж для хранения, то необходимо установить s3-public
FILESYSTEM_DISK_PRIVATE=private # если нужно использовать s3 сторадж для хранения, то необходимо установить s3-private
S3_BACKUP_PATH=backups/mysql # это папка в которую будут загружаться дамбы баз данных, со тороны s3 надо настроить время жизни файлов в этой папке, чтобы они автоматически удалялись; система удаляет только файлы, которые хрянятся локально
BACKUP_PATH=/var/www/api/storage/app/private/backups/

#AWS параметры конфигурации 
# В публичный bucket записываются общедоступные файлы (картики и публичные документы)
PUBLIC_AWS_ACCESS_KEY_ID=key_id # Идентификатор ключа доступа для аккаунта AWS.
PUBLIC_AWS_SECRET_ACCESS_KEY=secret_access_key # Секретный ключ доступа аккаунта AWS.
PUBLIC_AWS_DEFAULT_REGION=aws_region # Стандартный регион AWS, к которому будет происходить подключение для выполнения сервисов AWS.
PUBLIC_AWS_BUCKET=имя_bucket # Имя корзины AWS S3, которая будет использоваться для хранения файлов.
PUBLIC_AWS_USE_PATH_STYLE_ENDPOINT=true_or_false # Определяет использование пути в стиле endpoint для доступа к S3. Когда установлен в true, клиент AWS будет использовать path-style URL для доступа к объектам в S3. Необходимо установить true для корректного получения ссылок при работе с MinIO. По умолчанию в конфигурации стоит true.
PUBLIC_AWS_ENDPOINT=http://localhost:8000 # URL конечной точки для подключения к сервисам AWS. (без завершающего слеша)

# В приватный bucket записываются дамбы баз данных
PRIVATE_AWS_ACCESS_KEY_ID=
PRIVATE_AWS_SECRET_ACCESS_KEY=
PRIVATE_AWS_DEFAULT_REGION=
PRIVATE_AWS_BUCKET=
PRIVATE_AWS_USE_PATH_STYLE_ENDPOINT=true
PRIVATE_AWS_ENDPOINT=http://localhost:8000

# Настройки логирования
LOG_CHANNEL=daily # возможные значения: daily, syslogudp stderr
LOG_LEVEL=info
LOG_TTL_DAYS=30

# Настроки для syslogudp
SYSLOG_UDP_HOST=
SYSLOG_UDP_PORT=

# Список переменных для точечных настроек различных каналов логирования
LOG_CHANNEL_INTERCOM=
LOG_LEVEL_INTERCOM=
LOG_TTL_DAYS_INTERCOM=
LOG_CHANNEL_ORCHESTRATOR=
LOG_LEVEL_ORCHESTRATOR=
LOG_TTL_DAYS_ORCHESTRATOR=
LOG_CHANNEL_LICENSE=
LOG_LEVEL_LICENSE=
LOG_TTL_DAYS_LICENSE=
LOG_CHANNEL_CONTROLLER=
LOG_LEVEL_CONTROLLER=
LOG_TTL_DAYS_CONTROLLER=
LOG_CHANNEL_BILLING=
LOG_LEVEL_BILLING=
LOG_TTL_DAYS_BILLING=
LOG_CHANNEL_DEVICE=
LOG_LEVEL_DEVICE=
LOG_TTL_DAYS_DEVICE=

# Настройки системы
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
QUEUE_CONNECTION=beanstalkd
# Время ожидания перед повторным подключением к очереди (в секундах).
# that is being processed
QUEUE_RETRY_AFTER=90
MIN_SYMBOLS_SEARCH_CAMERAS=3
DISABLE_THROTTLE=false
MAX_MEDIA_SERVER_STORAGE_USAGE=80
# Пароль для админа в seeder
ADMIN_PASSWORD=qweasdzxc # пароль по умолчанию для админа, который создаётся при развертывании системы
# Эндпоинт для скачивания
DOWNLOAD_PAGE_PATH=/download # path для скачивания обновлений для толстого клиента
# Отправка пуш-уведомлений пользователям после создания или обновления потока
SEND_PUSH_STREAM_INACTIVE=false # флаг для отправки пушей пользователям для события stream_active/stream_inactive
# PTZ local/server
PTZ=server # флоу работы с PTZ
# Логин и пароль для Onvif-клиента.
CAMERA_LOGIN=admin # логин по умолчанию для работы с камерой по Onvif
CAMERA_PASSWORD=admin # пароль по умолчанию для работы с камерой по Onvif
# Если учетные данные потока не подходят, возьмите учетные данные из конфигурации ONVIF
CHECK_CREDENTIALS=false # флаг для работы c учетными данными для Onvif
# Включить запросы на автопровижионинг
AUTOPROVISIONING_ENABLED=true # флаг для работы autoprovisioning
# Задержка отправки задания AutoCreateStreamsDHCP, так как ONVIF-клиент работает с задержкой
ONVIF_DELAY=120 # задержка для job по созданию стримов для autoprovisioning
# Задержка для releaseAfter в SyncUserCameras job.
SYNC_USER_CAMERAS_DELAY=120 # задержка между выполнением job в случае если обрабатываются n job для одного пользователя
# Интервал обработки больших заданий (в секундах).
INTERVAL_TOUCH_LARGE_JOBS=35  # # Интервал (сек) обновления долго выполняющихся задач для исправления ошибки "забывания" менеджером очередей.
IS_STREAM_URL_UNIQUE=true # флаг, который выключает валидацию на добавление уникальных адресов видеопотоков
# Количество доменов для аргумента в консольной команде stream_info
OFFSET_STREAM_INFO_SERVERS=50
# Время (в минутах), в течение которого может обновляться последняя отметка обнаружения движения на камере.
MARK_MOTION_DETECT_TIMEOUT=30
# Секунды, на которые происходит сдвиг при создании метки
OFFSET_CREATING_MARK=5
# Принудительное удаление камер после n-количества дней
FORCE_DELETE_CAMERAS=30
# Максимальная глубина дерева домофонов (подсчет глубины с корневой группой)
INTERCOM_TREE_MAX_DEPTH=4
# Количество дней хранения архива на камере по умолчанию.
DEFAULT_ARCHIVE_STORAGE_DAYS=30

# Redis-настройки
REDIS_HOST=redis-server
REDIS_PASSWORD=null
REDIS_PORT=6379

# Beanstalkd-настройки
BEANSTALK_HOST=beanstalkd
BEANSTALK_PORT=11300

# WebSocket-настройки
PUSHER_APP_ID=app
PUSHER_APP_KEY=key
PUSHER_APP_SECRET=secret
PUSHER_APP_CLUSTER=mt1
PUSHER_HOST=push1st
PUSHER_PORT=6002
WEBSOCKET_CONNECTION_PATH=/pusher # префикс для подключения в webscoket

# Media Server-настройки
PROCESS_MEDIA_SERVER_V2_REQUEST=true
MEDIA_SERVER_V2_TIMEOUT=10
LOG_MEDIA_SERVER_V2_CALLBACK_REQUEST=true # включает/выключает логирование колбеков с медиасервера
MEDIA_SERVER_V2_SYNC_CALLBACK=true # переключатель между синхронной/асинхронной обработкой колбеков с медиасервер
MEDIA_SERVER_V2_EVENT_DVR_DURATION=180
OFFSET_ARCHIVE_RANGE_STREAMS=20
# Лимиты по умолчанию для for media server v2 servers
MEDIA_SERVER_V2_STREAMS_LIMIT=200
MEDIA_SERVER_V2_BITRATE_LIMIT=300

# Flussonic-настройки
PROCESS_FLUSSONIC_REQUEST=true
FLUSSONIC_LOGIN=login
FLUSSONIC_PASSWORD=password
FLUSSONIC_SECRET_KEY=key
FLUSSONIC_MCELD_PROTOCOL=wss
FLUSSONIC_LICENCE=
FLUSSONIC_TIMEOUT=10
# Лимиты по умолчанию для flussonic-серверов
FLUSSONIC_STREAMS_LIMIT=200
FLUSSONIC_BITRATE_LIMIT=300

# Учетные данные IsApi. Используются для обработки обнаружения движения на камере.
IS_API_SCHEMA=http
IS_API_TIMEOUT=10
PROCESS_IS_API_REQUEST=true

# Настройки кейсов аналитики
ANALYTIC_TIMEOUT=10
PROCESS_ANALYTIC_REQUEST=true
ORCHESTRATOR_TIMEOUT=10
ORCHESTRATOR_ENDPOINT=https://vms.local
ANALYTIC_ORCHESTRATOR_SOCKET_EVENT_ENDPOINT=ws://127.0.0.1:6001/ws/app/app-key/events/?session=session
ANALYTIC_ORCHESTRATOR_SOCKET_STAT_ENDPOINT=ws://127.0.0.1:6001/ws/app/app-key/stats/?session=session
ANALYTIC_LICENSE_STATISTIC_LIMIT=5
ANALYTIC_MAX_FILES_COUNT_FOR_GROUP=100
FORCE_DELETE_ANALYTIC_CASE_AFTER_DAYS=7
BASE_ENDPOINT_S3_STORAGE=http://localhost/
OVMS_STREAM_READING_ERROR_NOTIFICATION_LIFE_TIME=90 # Время отображения сообщения а кейсе аналитики по событию stream_reading_error
# Пользовательская конечная точка для обратного вызова аналитического кейса. Оставьте пустым, чтобы использовать домен по умолчанию
ANALYTIC_CASE_CALLBACK_ENDPOINT=
NETWORK_FOR_ANALYTIC_CASE_STREAM=internal # Указывает способ предоставления ссылок для захвата аналитикой:через внешнюю или через внутренюю сеть
NETWORK_FOR_ARCHIVE_GENERATION=internal # Указывает способ предоставления ссылок для скачивания архива: через внешнюю или через внутренюю сеть

# Метаданные аналитического кейса
# Threshold in %
MOTION_DETECT_THRESHOLD=90
FACE_THRESHOLD=50
PERSON_COUNTING_THRESHOLD=30
LICENSE_PLATE_THRESHOLD=50
VISITOR_COUNTING_THRESHOLD=50
CROSSING_LINE_DETECTION_THRESHOLD=50
CAMERA_OBSTACLE_THRESHOLD=50
LOUD_SOUND_DETECTION_THRESHOLD=70
SMOKE_FIRE_THRESHOLD=50
FIGURES_MAX_NUMBER=6 # количество зон на одной камере, которые может создать пользователь

# Настройки файлов Analytics
ANALYTIC_FILES_DELETE_AFTER=30 # после того как изменили файл, на котором были события аналитики, старый файл будет хранить указанное количество дней

# Размер уведомления в боковой панели (в байтах).
SIZE_OF_SIDEBAR_PUSH=20000

#Для установки статического IP-адреса камере во время автопровижионинга
ONVIF_CHANGE_STATIC_NETWORK=false
ONVIF_CHANGE_DEFAULT_GATEWAY=false
USE_CAMERA_SERIAL_NUMBER_AS_PASSWORD=true

#Настройки расписания
# настройки для выполнения cron задач (нужно для распределения нагрузки для инсталляции в кластере и для отключения задач, если они по какой-то причине сейчас не нужны)
SCHEDULE_IS_FLUSSONIC_ENABLED=false
SCHEDULE_MEDIA_SERVER_V2_ENABLED=true
SCHEDULE_IS_HIKVISION_ENABLED=false
SCHEDULE_IS_DHCP_ENABLED=true
SCHEDULE_IS_BASIC_SCRIPTS_ENABLED=true
SCHEDULE_IS_INTERCOM_ENABLED=false
SCHEDULE_IS_SYNC_INTERCOM_ENABLED=false
SCHEDULE_IS_SYNC_INTERCOM_KEY_ENABLED=false
SCHEDULE_IS_FORCE_DELETE_CAMERAS_ENABLE=true
SCHEDULE_IS_ANALYTIC_ENABLE=true
# Настройки узла.
NODES_CLUSTER_ENABLE=false
#Доступно только при включенном кластере.
NODE_NUMBER=1
NODES_COUNT=2
# Доступно только при выключенном кластере.
OFFSET_ARCHIVE_RANGE_SERVERS=50

# APN-настройки
# настройки для APN-нотификаций для iOS-устройств
APN_KEY_ID=key
APN_TEAM_ID=id
APN_BUNDLE_ID=bundle
APN_PRIVATE_KEY=voip.p8
APN_PRODUCTION=false

# Настройки Push-уведомлений Huawei 
HUAWEI_APP_ID=
HUAWEI_CLIENT_SECRET=

#FCM-настройки
FIREBASE_CREDENTIALS=fcm.jsom

#Настройки мобильного клиента
MOBILE_SCHEMA= # специальная схема, по которой открываются мобильные клиенты при использовании данной ссылки (используется во внешней авторизации и сканировании qr-кода для создания профиля). Это значение проставляется автоматически при сборке

# Настройки домофона
INTERCOM_CODE_LIFE_TIME=60 # время жизни (в секундах) кода для добавления домофона, который нужно ввести на самом домофоне
INTERCOM_KEY_LIFE_TIME=60 # время жизни (в секундах) после ввода кода на домофоне, чтобы приложить ключ
INTERCOM_ENDPOINT=https://api.sputnik.systems # адрес облака для работы на домофоне
INTERCOM_TIMEOUT=3 # максимальное время ожидания ответа при отправке запроса к системе домофона.
INTERCOM_PROCESS_REQUEST=true # флаг для обработки запросов на домофон (нужен в тех случаях, когда api должно работать, и отправки реальных запросов)
INTERCOM_USER_NUMBER_POSTFIX=@domain.com # постфикс для SIP-адреса, с которым квартиры создаются на домофоне
INTERCOM_AUTH_TOKEN=token # токен для авторизации запросов на домофон
INTERCOM_END_CALL=60
INTERCOM_SIP_SERVER=localhost:5060
# if the value is true - is_online will handle by webhook from cloud
# if the value is false - is_online will handle by re-interrogation in console command
INTERCOM_SPUTNIK_HANDLE_IS_ONLINE_BY_CALLBACK=false
# Максимальное количество временных кодов для пользователей
INTERCOM_MAX_CODES_COUNT=5
INTERCOM_ANALYTIC_MAX_COUNT_FILES_UPLOAD=20 # Максимальное количество изображений, которые клиент может загрузить для открытия двери домофона для распознования лица
FORCE_DELETE_INTERCOMS=30 # Полное удаление домофонов через n-количество дней

# Управление состоянием потока (Stream condition management).
RESTART_STREAM_AFTER=30
# Стандартные параметры для камер, не имеющих проблем с установлением соединения
FIRST_STEP_DISABLE_STREAM_AFTER=500
FIRST_STEP_DISMISS_STREAM_AFTER=168
SECOND_STEP_DISABLE_STREAM_AFTER=400
SECOND_STEP_DISMISS_STREAM_AFTER=120
THIRD_STEP_DISABLE_STREAM_AFTER=200
THIRD_STEP_DISMISS_STREAM_AFTER=5
# Стандартные параметры для камер с увеличенным временем подключения
INCREASED_FIRST_STEP_DISABLE_STREAM_AFTER=1500
INCREASED_FIRST_STEP_DISMISS_STREAM_AFTER=144
INCREASED_SECOND_STEP_DISABLE_STREAM_AFTER=1000
INCREASED_SECOND_STEP_DISMISS_STREAM_AFTER=96
INCREASED_THIRD_STEP_DISABLE_STREAM_AFTER=500
INCREASED_THIRD_STEP_DISMISS_STREAM_AFTER=48

#BILLING
BILLING_AUTO_SYNC_CAMERAS=false
BILLING_AUTO_SYNC_CAMERAS_INTERVAL=7200
BILLING_URL_TO_SYNC_CAMERAS=
BILLING_URL_TO_UPDATE_PASSWORD=
BILLING_URL_TO_STORE_SUB_USER=
BILLING_URL_TO_DESTROY_SUB_USER=
BILLING_CAMERA_ADDRESS_TREE_SEGMENTS_COUNT=5 # Количество подадресов при построении дерева адреса камер (Прим. - регион, город, район, улица, квартира)
BILLING_CAMERA_ADDRESS_TREE_URL_PARSE= # Url для получения полного дерева адресов камеры по идентификатору дома
BILLING_CAMERA_ADDRESS_TREE_URL_N= # N-ый Эндпоинт создания дерева адреса камер на стороннем сервисе. Количество данных url-параметров должно быть равно количеству сегментов
BILLING_TIMEOUT=2


# Bridge-настройки
BRIDGE_LOCAL_ARCHIVE_ENABLED_BY_DEFAULT=true # Включена ли локальная запись архива по умолчанию при создании камеры
BRIDGE_LOCAL_ARCHIVE_STORAGE_DAYS_BY_DEFAULT=30 # Количество дней записи архива локально для камер бриджа по умолчанию
BRIDGE_CLOUD_ARCHIVE_ENABLED_BY_DEFAULT=true # Включена ли облачная запись архива по умолчанию при создании камеры
BRIDGE_CLOUD_ARCHIVE_STORAGE_DAYS_BY_DEFAULT=30 # Количество дней записи архива в облако для камер бриджа по умолчанию
BRIDGE_DAYS_AFTER_BLOCK_BEFORE_DELETING=30 # Количество дней, после которых заблокированное устройство будет удалено из базы данных 

# Настройки камеры с ПО Agent
CAMERA_AGENT_LOCAL_ARCHIVE_ENABLED_BY_DEFAULT=false # Включена ли локальная запись архива по умолчанию при создании камеры
CAMERA_AGENT_LOCAL_ARCHIVE_STORAGE_DAYS_BY_DEFAULT=30 # Количество дней записи архива локально для камер с ПО Agent по умолчанию
CAMERA_AGENT_CLOUD_ARCHIVE_ENABLED_BY_DEFAULT=true # Включена ли облачная запись архива по умолчанию при создании камеры
CAMERA_AGENT_CLOUD_ARCHIVE_STORAGE_DAYS_BY_DEFAULT=30 # Количество дней записи архива в облако для камер с ПО Agent по умолчанию
CAMERA_AGENT_DAYS_AFTER_BLOCK_BEFORE_DELETING=30 # Количество дней, после которых заблокированное устройство будет удалено из базы данных


TREE_CAMERA_SINGLE_REQUEST_MAX_CAMERAS_COUNT=100
TREE_LAYOUT_SINGLE_REQUEST_MAX_GROUPS_COUNT=5

#SMTP-настройки
#Значения: peer и from
SMTP_EVENT_TAKE_IP_FROM=from

ARCHIVE_STREAM_ENABLED_TIME_INTERVAL_BEFORE=15 # Количество секунд, в течении которых доступно видео просмотра архива до события (при ограничении на просмотр на домофоне или для определенного пользователя)
ARCHIVE_STREAM_ENABLED_TIME_INTERVAL_AFTER=30 # Количество секунд, в течении которых доступно видео просмотра архива после события (при ограничении на просмотр на домофоне или для определенного пользователя)

CLIENT_MAP_CAMERAS_LIMIT=16 # Ограничение на количество одновременно открытых трансляций на карте/плане для клиента (максимальное значение 16; если указать значение больше, оно будет проигнорировано, и вместо него подставится 16)
ADMIN_MAP_CAMERAS_LIMIT=16 # Ограничение на количество одновременно открытых трансляций на карте/плане для админа (максимальное значение 16; если указать значение больше, оно будет проигнорировано, и вместо него подставится 16)

MAP_CLUSTER_ITEMS=500 # Количество элементов на карте, после которых начинается кластеризация

MAPS_TREE_MAX_DEPTH=2 # Максимальная глубина групп карт/планов

# Установка дефолтных координат для админ карты
#ADMIN_MAP_LATITUDE=
#ADMIN_MAP_LONGITUDE=
#ADMIN_MAP_ZOOM=
# Установка дефолтных координат для клиентской карты
#CLIENT_MAP_LATITUDE=
#CLIENT_MAP_LONGITUDE=
#CLIENT_MAP_ZOOM=


# Можно ли переносить камеру между приватной и публичной группой
IS_CAN_CHANGE_CAMERA_GROUP_TYPE_DURING_TRANSFER=true

ARCHIVE_SPEED_LIST_WEB=0.25,0.5,1.0,2.0,5.0,10.0 # Скорость просмотра видео для веба
ARCHIVE_SPEED_LIST_MOBILE=0.5,1.0,2.0,4.0,8.0 # Скорость просмотра видео для мобильного приложения
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.