Env variables
APP_NAME=VMS # project name
APP_ENV=production # environment configuration, some code can only be executed in a specific environment
APP_KEY= # this is generated during installation (required for internal Laravel operations)
APP_DEBUG=false # toggle debug mode on/off
# Current release version.
RELEASE=0.0.0.0 # current release number used for sentry
# Application license data.
LICENSE_SOURCE= # possible values for file and server
LICENSE_URL= # license URL to be used, this parameter is used if LICENSE_SOURCE=server
LICENSE_APP_NAME= # application code, this parameter is used if LICENSE_SOURCE=server
LICENSE_APP_SECRET= # application key, this parameter is used if LICENSE_SOURCE=server
LICENSE_PUBLIC_KEY= # license file key, this parameter is used if LICENSE_SOURCE=file
# Locale settings
AVAILABLE_LOCALES=ru,en # available languages in the system
FALLBACK_LOCALE=ru # if no translation is available for the desired language, the default language will be used
LOCALE=ru # default language
TIMEZONE=UTC # Timezone in which all dates will be stored in the database
# Database credentials.
DB_CONNECTION=mysql # database driver
DB_HOST=mysql-server # host for database connection
DB_PORT=3306 # port for database connection
DB_CRITICAL_PORT=3306 # port for connecting to the master node of the database (only needed if the database is running in cluster mode)
DB_DATABASE=vms # database name for connecting to the database
DB_USERNAME=vms # user for connecting to the database
DB_PASSWORD=vms # password for connecting to the database
#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
# Clickhouse settings
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 credentials.
DB_DHCP_HOST=mysql-server
DB_DHCP_PORT=3306
DB_DHCP_DATABASE=kea_dhcp
DB_DHCP_USERNAME=kea_dhcp
DB_DHCP_PASSWORD=kea_dhcp
# System settings.
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
QUEUE_CONNECTION=beanstalkd
FILESYSTEM_DISK=public
MIN_SYMBOLS_SEARCH_CAMERAS=3
DISABLE_THROTTLE=false
BACKUP_PATH='/var/backups/mysql/dumps/'
MAX_MEDIA_SERVER_STORAGE_USAGE=80
LOG_CHANNEL=stack # log channel selection
# Send messages to slack channel.
LOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/ # webhook URL for sending notifications
# Sentry credentials.
SENTRY_LARAVEL_DSN=https://sentry.com/ # URL for sending exceptions to sentry
# Password for admin in seeder.
ADMIN_PASSWORD=qweasdzxc # default password for the admin created during system deployment
# Endpoint for download.
DOWNLOAD_PAGE_PATH=/download # path for downloading updates for the decktop client
# Send push to users after creating, updating events connected to streams.
SEND_PUSH_STREAM_INACTIVE=false # flag for sending pushes to users for the stream_active/stream_inactive event
# PTZ local/server
PTZ=server # PTZ workflow
# Login and password for Onvif client.
CAMERA_LOGIN=admin # default login for working with cameras using Onvif
CAMERA_PASSWORD=admin # default password for working with cameras using Onvif
# If the stream credentials not fit, take credentials form onvif config.
CHECK_CREDENTIALS=false # flag for working with credentials for Onvif
# Enable requests for autoprovisioning.
AUTOPROVISIONING_ENABLED=true # flag for working with autoprovisioning
# Deley for dispatch AutoCreateStreamsDHCP job, because Onvfi client works with a delay.
ONVIF_DELAY=120 # delay for job creation of streams for autoprovisioning
# Interval (in seconds) with will be touch large jobs.
INTERVAL_TOUCH_LARGE_JOBS=35 # interval in seconds for updating long-running jobs (used to fix a bug where the queue manager forgets about these jobs)
IS_STREAM_URL_UNIQUE=true # flag that disables validation for adding unique video stream addresses
# Count of domains for argument in console command stream_info
OFFSET_STREAM_INFO_SERVERS=50
# Time during which the last motion detect mark on the camera can be updated (in minutes)
MARK_MOTION_DETECT_TIMEOUT=30
# Seconds by which the shift occurs when creating a mark
OFFSET_CREATING_MARK=5
# Force delete cameras after n days
FORCE_DELETE_CAMERAS=30
# Intercom tree max depth (calculate depth with root group)
INTERCOM_TREE_MAX_DEPTH=4
# Default number of days that the archive is stored on the camera.
DEFAULT_ARCHIVE_STORAGE_DAYS=30
# Redis settings
REDIS_HOST=redis-server
REDIS_PASSWORD=null
REDIS_PORT=6379
# Beanstalkd settings
BEANSTALK_HOST=beanstalkd
BEANSTALK_PORT=11300
# WebSocket settings.
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 # prefix for websocket connection
# Media Server settings
PROCESS_MEDIA_SERVER_V2_REQUEST=true
MEDIA_SERVER_V2_TIMEOUT=10
LOG_MEDIA_SERVER_V2_CALLBACK_REQUEST=true # enables/disables logging of callbacks from the media server
MEDIA_SERVER_V2_SYNC_CALLBACK=true # switch between synchronous/asynchronous processing of media server callbacks
MEDIA_SERVER_V2_EVENT_DVR_DURATION=20
OFFSET_ARCHIVE_RANGE_STREAMS=20
# Default limits for media server v2 servers.
MEDIA_SERVER_V2_STREAMS_LIMIT=200
MEDIA_SERVER_V2_BITRATE_LIMIT=300
# Flussonic settings
PROCESS_FLUSSONIC_REQUEST=true
FLUSSONIC_LOGIN=login
FLUSSONIC_PASSWORD=password
FLUSSONIC_SECRET_KEY=key
FLUSSONIC_MCELD_PROTOCOL=wss
FLUSSONIC_LICENCE= FLUSSONIC_TIMEOUT=10
# Default limits for flussonic servers
FLUSSONIC_STREAMS_LIMIT=200
FLUSSONIC_BITRATE_LIMIT=300
# IsApi credentials. Used to handle motion detection on camera.
IS_API_SCHEMA=http
IS_API_TIMEOUT=10
PROCESS_IS_API_REQUEST=true
# Case analytic settings
ANALYTIC_TIMEOUT=10
PROCESS_ANALYTIC_REQUEST=true
ORCHESTRATOR_TIMEOUT=10
ORCHESTRATOR_ENDPOINT=http://127.0.0.1
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
# Analytic case meta setting.
# 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
# Size of push in sidebar (in bytes)
SIZE_OF_SIDEBAR_PUSH=20000
# TO SET STATIC IP TO CAMERA DURING AUTOPROVISIONING
ONVIF_CHANGE_STATIC_NETWORK=false
ONVIF_CHANGE_DEFAULT_GATEWAY=false
USE_CAMERA_SERIAL_NUMBER_AS_PASSWORD=true
#Schedule settings
# settings for executing cron tasks (used for load balancing in cluster installations and for disabling tasks if they are not currently needed for any reason)
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_BILLING_ENABLED=false
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 settings.
NODES_CLUSTER_ENABLE=false
# Available only when cluster enabled.
NODE_NUMBER=1
NODES_COUNT=2
# Available only when cluster disabled.
OFFSET_ARCHIVE_RANGE_SERVERS=50
# APN settings
# settings for APN notifications for iOS devices
APN_KEY_ID=key
APN_TEAM_ID=id
APN_BUNDLE_ID=bundle
APN_PRIVATE_KEY=voip.p8
APN_PRODUCTION=false
# Huawei push settings
HUAWEI_APP_ID=
HUAWEI_CLIENT_SECRET=
#FCM settings
FIREBASE_CREDENTIALS=fcm.jsom
#Setting for mobile
MOBILE_SCHEMA= # special scheme by which mobile clients are opened when this link is accessed (used in external authorization and QR code scanning for profile creation). This value is automatically set during the build process
# Intercom settings
INTERCOM_CODE_LIFE_TIME=60 # lifetime in seconds for the doorphone entry code that needs to be entered on the doorphone itself
INTERCOM_KEY_LIFE_TIME=60 # lifetime in seconds after entering the code on the doorphone to attach the key
INTERCOM_ENDPOINT=https://api.sputnik.systems # cloud address for doorphone operation
INTERCOM_TIMEOUT=3 # timeout for doorphone requests
INTERCOM_PROCESS_REQUEST=true # flag for processing doorphone requests (used in cases where the API should work without sending real requests)
INTERCOM_USER_NUMBER_POSTFIX=@domain.com # suffix for SIP address with which apartments are created on the doorphone
INTERCOM_AUTH_TOKEN=token # Token for authorization of doorphone requests
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
# Max count of users temporary codes
INTERCOM_MAX_CODES_COUNT=5
# Stream condition management.
RESTART_STREAM_AFTER=30
# Standard for cameras without increased connection
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
# For cameras with increased connection
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