Skip to main content
Version: 10.1

Environment Variables Reference

This file documents all supported .env entries for the Frafos monitoring stack. Place your .env file in the same directory as your docker-compose.yml or manifest files to configure your deployment.

Example .env File

Show example .env file
⬇️ Download env.example
.env
# --- Generic ---
# NODE_ENV=production # Specifies the current environment for the application. Affects configuration, logging, and feature toggles throughout the app. Defaults to 'production'. | required | enum: [dev, test, production, CI]
# MOKI_DEBUG=false # Enable verbose debug logging and additional diagnostic output for Moki. Useful for troubleshooting and development. | required
# ADDR=0.0.0.0 # IP address or hostname for the Express.js server to bind to. Must be a valid IPv4 or IPv6 address. | required
# SERVER_PORT=5000 # Port number for the server to listen on. | required | min: 0, max: 65536
# PUBLIC_URL= # Publicly accessible URL of the application. Used for generating links and references. Must be a valid URL. | optional
# STATIC_DOC_FILES_PATH=/moki/documentations # Filesystem path to static documentation files served by the application. Used for hosting and accessing documentation. | required
# APP_DIR= # Root directory of the application. Automatically set from env.ts and used for resolving application paths. | optional
# TEST_HTTPS_LOCAL=false # If true, enables HTTPS for local development setup; otherwise, defaults to HTTP server. Used only in local environments. | required
# GUI_TLS_CERT_PATH= # The absolute filesystem path to the TLS/SSL certificate file used to secure the web interface (GUI) with HTTPS. The file must exist, have a valid '.pem' or '.crt' extension, and contain a valid certificate. | optional
# GUI_TLS_KEY_PATH= # The absolute filesystem path to the private key file corresponding to the TLS/SSL certificate for the web interface (GUI). The file must exist, have a valid '.pem', '.crt', or '.key' extension, and contain a valid private key. | optional
# LOG_PATH=/data/abc-monitor/logs # Filesystem path where application log files are stored. Used for tracking server and application events. | required
# LOG_LEVEL=debug # Logging level for application output. Controls verbosity: trace (most detailed), debug, info, warn, error, fatal (least detailed). | required | enum: [trace, debug, info, warn, error, fatal]
# REPORT_URL=http://localhost:5000/report # URL endpoint for accessing application reports. Must be a valid URL. | required
# BROWSER_URL=http://chrome:9222/ # URL of the browser endpoint used for remote browser automation or debugging. Must be a valid URL. | required
# PYTHON_PATH=python3 # Filesystem path or command to the Python executable used for running Python scripts or integrations. | required
# EVENT_GENERATOR_PATH=event-generator-cli # Filesystem path or command to the event generator CLI tool. Used for generating events in the application. | required
# WEB_PUSH_VAPID_PUB=BDMDdcui_F0YkNqSG6y-OJdm_rCluBUXm7g8Bz02BShFoi4knfKPRX-YiILV6l0mi1BwHBif6r-RhfMNYgLeFd0 # Public VAPID key used for authenticating web push notifications sent to clients. Must be a valid VAPID public key string, typically generated for your push service. | required
# WEB_PUSH_VAPID_PRV=m_zagbTESoDoxQVFg00EbbHLPt0zLI28f9FoXzU3Uj0 # Private VAPID key used for signing web push notifications sent to clients. Must be a valid VAPID private key string, kept secret and paired with the public key. | required
# DOCS_PROXY_URL= # URL of the external documentation service to proxy requests to. If set, documentation is hosted externally and `STATIC_DOC_FILES_PATH` is ignored. | optional

# --- Auth ---
# JWT_required=false # Require JWT authentication for SIP user access. If true, users must provide a valid JWT token to authenticate. | required
# BYPASS_AUTH=false # If true, the login page is displayed for user authentication; if false, users are redirected directly to the dashboard without authentication. | required
# CCM= # IP address or hostname of the CCM server used for SIP communications. Must be a valid IPv4, IPv6, or hostname. | optional

# --- Elasticsearch ---
# ES= # URL of the Elasticsearch server to override the value from monitor.json. Must be a valid URL. Used for connecting to the Elasticsearch instance. | optional
# ES_USERNAME= # Username for authenticating with the Elasticsearch server. Required if ES_PASSWORD is provided. | optional
# ES_PASSWORD= # Password for authenticating with the Elasticsearch server. Required if ES_USERNAME is provided. | optional
# ES_RECOVERY_CONFIRMATION_COUNT=3 # Number of confirmations required to complete the recovery process in Elasticsearch operations. Controls how many successful confirmations are needed before recovery is considered complete. | required

# --- LogService ---
# LOGSTASH_URL=http://127.0.0.1:9600 # URL of the Logstash server for event ingestion and monitoring. Useful when Logstash runs on a different server or in the 'mon' container (127.0.0.1). Must be a valid URL. | required
# LOGSTASH_DISABLED=false # If true, disables Logstash integration when running the monitor server. For fresh Elasticsearch setups, datastreams config must be pushed before sending events via Logstash. | required
# LOGSTASH_BIN=/opt/logstash/bin/logstash # Filesystem path to the Logstash binary. Required for local development or manual Logstash operation. | required
# LOGSTASH_BEATS_PORT=5044 # Input port for Logstash. Used by event-generator to push events. | required | min: 0, max: 65536
# LOGSTASH_GEOIP_DB=/data/abc-monitor/logstash/GeoLite2-City.mmdb # Filesystem path to the GeoIP database used by Logstash for geolocation enrichment of events. | required
# LS_RECOVERY_CONFIRMATION_COUNT=3 # Number of confirmations required to complete the recovery process for Logstash operations. Controls how many successful confirmations are needed before recovery is considered complete. | required | min: 1, max: 100

# --- AA ---
# ADVANCED_ALERTS= # Enable advanced alerts for enhanced monitoring and notification features | optional
# ADVANCED_ALERTS_URL= # The endpoint URL used for advanced alerts when ADVANCED_ALERTS is enabled. Must be a valid URL. | optional
# AA_RECOVERY_CONFIRMATION_COUNT=3 # Number of confirmations required to complete the recovery process. Controls how many successful confirmations are needed before recovery is considered complete. | required | min: 1, max: 100

# --- S3 ---
# UPLOAD_API_PORT=3042 # Port number for the upload API server to listen on. | required | min: 0, max: 65536
# UPLOAD_API_TLS_KEY_PATH= # Filesystem path to the TLS key file used for HTTPS connections in the upload API. | optional
# UPLOAD_API_TLS_CERT_PATH= # Filesystem path to the TLS certificate file used for HTTPS connections in the upload API. | optional
# UPLOAD_API_TLS_CA_PATH= # Filesystem path to the TLS CA certificate file for validating client certificates in mutual TLS setups. | optional
# UPLOAD_API_MUTUAL_AUTH=false # Enable mutual TLS authentication for the upload API. If true, both client and server must present valid certificates. | required
# UPLOAD_API_RSYNC_PORT=1873 # Port number for the rsync server used by the upload API for file synchronization. | required | min: 0, max: 65536
# UPLOAD_API_RSYNC_USER=sbcsync # Username for authenticating with the rsync server in the upload API. | required
# UPLOAD_API_RSYNC_PASSWORD=ZJaqCW6zwznD # Password for authenticating with the rsync server in the upload API. | required
# UPLOAD_API_STORAGE_TYPE=null # Type of storage backend used by the upload API. | required | enum: [s3, file, null]
# STORAGE_LOCATION= # Filesystem path or S3 bucket name where uploaded files are stored. | optional
# UPLOAD_API_S3_FORCE_PATH_STYLE=false # Force path-style access for S3 buckets in the upload API. Useful for S3-compatible services or custom endpoints. | required
# AWS_REGION=auto # AWS region for S3 storage operations. Used to select the correct S3 endpoint. | required
# AWS_ENDPOINT_URL_S3= # Custom endpoint URL for S3 storage. Must be a valid URL. Used for S3-compatible services or local testing. | optional
# AWS_ACCESS_KEY_ID= # AWS Access Key ID for authenticating S3 storage operations. | optional
# AWS_SECRET_ACCESS_KEY= # AWS Secret Access Key for authenticating S3 storage operations. | optional

# --- CI ---
# CI_LOGSTASH_ADDR=127.0.0.1 # IP address of the Logstash server used for CI logging and data collection. Must be a valid IPv4 or IPv6 address. | required
# CI_LOGSTASH_PORT=0 # Port number for connecting to the Logstash server in CI. Must be within the allowed port range. | required | min: 0, max: 65536
# CI_SKIP_DATA_GEN=false # If true, skips generating test data during CI runs. Useful for faster execution when data generation is not required. | required
# CI_S3_BUCKET=file-upload-test # Name of the S3 bucket used in CI for upload-api tests. Specifies where test files are uploaded during CI runs. | required

# --- Client ---
# ALLOWED_HOSTS=localhost,127.0.0.1 # List of hostnames or IP addresses allowed for the UI to connect to the server and used in SSL certificate validation. | optional
# UI_PORT=3000 # Port number for the user interface (UI) to listen on. | required | min: 0, max: 65536

Ports

  • SERVER_PORT: 5000
  • LOGSTASH_BEATS_PORT: 5044
  • UPLOAD_API_PORT: 3042
  • UPLOAD_API_RSYNC_PORT: 1873
  • CI_LOGSTASH_PORT: 0
  • UI_PORT: 3000

Variable Definitions

Generic environment variables used for core application configuration, debugging, server address, ports, URLs, and paths. These variables control the main behavior and entry points of the monitoring stack.

VariableTypeDefault ValueRestrictionsDescription
NODE_ENVenum [dev, test, production, CI]productionenum: [dev, test, production, CI]Specifies the current environment for the application. Affects configuration, logging, and feature toggles throughout the app. Defaults to 'production'.
MOKI_DEBUGbooleanfalse-Enable verbose debug logging and additional diagnostic output for Moki. Useful for troubleshooting and development.
ADDRstring0.0.0.0-IP address or hostname for the Express.js server to bind to. Must be a valid IPv4 or IPv6 address.
SERVER_PORTnumber5000min: 0, max: 65536Port number for the server to listen on.
PUBLIC_URLstring--Publicly accessible URL of the application. Used for generating links and references. Must be a valid URL.
STATIC_DOC_FILES_PATHstring/moki/documentations-Filesystem path to static documentation files served by the application. Used for hosting and accessing documentation.
APP_DIRstring--Root directory of the application. Automatically set from env.ts and used for resolving application paths.
TEST_HTTPS_LOCALbooleanfalse-If true, enables HTTPS for local development setup; otherwise, defaults to HTTP server. Used only in local environments.
GUI_TLS_CERT_PATHboolean--The absolute filesystem path to the TLS/SSL certificate file used to secure the web interface (GUI) with HTTPS. The file must exist, have a valid '.pem' or '.crt' extension, and contain a valid certificate.
GUI_TLS_KEY_PATHboolean--The absolute filesystem path to the private key file corresponding to the TLS/SSL certificate for the web interface (GUI). The file must exist, have a valid '.pem', '.crt', or '.key' extension, and contain a valid private key.
LOG_PATHstring/data/abc-monitor/logs-Filesystem path where application log files are stored. Used for tracking server and application events.
LOG_LEVELenum [trace, debug, info, warn, error, fatal]debugenum: [trace, debug, info, warn, error, fatal]Logging level for application output. Controls verbosity: trace (most detailed), debug, info, warn, error, fatal (least detailed).
REPORT_URLstringhttp://localhost:5000/report-URL endpoint for accessing application reports. Must be a valid URL.
BROWSER_URLstringhttp://chrome:9222/-URL of the browser endpoint used for remote browser automation or debugging. Must be a valid URL.
PYTHON_PATHstringpython3-Filesystem path or command to the Python executable used for running Python scripts or integrations.
EVENT_GENERATOR_PATHstringevent-generator-cli-Filesystem path or command to the event generator CLI tool. Used for generating events in the application.
WEB_PUSH_VAPID_PUBstringBDMDdcui_F0YkNqSG6y-OJdm_rCluBUXm7g8Bz02BShFoi4knfKPRX-YiILV6l0mi1BwHBif6r-RhfMNYgLeFd0-Public VAPID key used for authenticating web push notifications sent to clients. Must be a valid VAPID public key string, typically generated for your push service.
WEB_PUSH_VAPID_PRVstringm_zagbTESoDoxQVFg00EbbHLPt0zLI28f9FoXzU3Uj0-Private VAPID key used for signing web push notifications sent to clients. Must be a valid VAPID private key string, kept secret and paired with the public key.
DOCS_PROXY_URLstring--URL of the external documentation service to proxy requests to. If set, documentation is hosted externally and STATIC_DOC_FILES_PATH is ignored.

Usage Notes

info
  • Add or override variables as needed for your deployment.
  • For sensitive values, consider using Docker secrets or Kubernetes secrets.
  • Not all variables are required for every service; check your compose/manifest for usage.