Skip to content
Stand with Ukraine flag

Core and Rule Engine Configuration

HTTP_BIND_ADDRESS · Default 0.0.0.0

Server bind-address

HTTP_BIND_PORT · Default 8080

Server bind port

HTTP_FORWARD_HEADERS_STRATEGY · Default framework

Server forward headers strategy. Required for SWAGGER UI when reverse proxy is used

SSL_ENABLED · Default false

Enable/disable SSL support

SSL_CREDENTIALS_TYPE · Default PEM

Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)

SSL_PEM_CERT · Default server.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key)

SSL_PEM_KEY · Default server_key.pem

Path to the server certificate private key file (optional). Required if the private key is not present in the server certificate file

SSL_PEM_KEY_PASSWORD · Default server_key_password

Server certificate private key password (optional)

SSL_KEY_STORE_TYPE · Default PKCS12

Type of the key store (JKS or PKCS12)

SSL_KEY_STORE · Default classpath:keystore/keystore.p12

Path to the key store that holds the SSL certificate

SSL_KEY_STORE_PASSWORD · Default thingsboard

Password used to access the key store

SSL_KEY_ALIAS · Default tomcat

Key alias

SSL_KEY_PASSWORD · Default thingsboard

Password used to access the key

HTTP_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION · Default /api/image*/**=52428800;/api/resource/**=52428800;/api/**=16777216

Semi-colon-separated list of urlPattern=maxPayloadSize pairs that define max http request size for specified url pattern. After first match all other will be skipped

HTTP2_ENABLED · Default true

Enable/disable HTTP/2 support

HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE · Default false

Log errors with stacktrace when REST API throws an exception with the message “Please contact sysadmin”

TB_SERVER_WS_SEND_TIMEOUT · Default 5000

Timeout for sending data to client WebSocket session in milliseconds

TB_SERVER_WS_PING_TIMEOUT · Default 30000

recommended timeout >= 30 seconds. The platform will attempt to send a ‘ping’ request 3 times within the timeout

TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC · Default 60

Refresh rate of the dynamic alarm end entity data queries

TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE · Default 1

Thread pool size to execute dynamic queries

TB_SERVER_WS_MAX_ALARM_QUERIES_PER_REFRESH_INTERVAL · Default 10

Maximum number of dynamic queries per refresh interval. For example, no more than 10 alarm queries are executed by the user simultaneously in all browsers.

TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER · Default 10

Maximum number of dynamic queries per user. For example, no more than 10 alarm widgets opened by the user simultaneously in all browsers

TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION · Default 10000

Maximum number of entities returned for single entity subscription. For example, no more than 10,000 entities on the map widget

TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION · Default 10000

Maximum number of alarms returned for single alarm subscription. For example, no more than 10,000 alarms on the alarm widget

TB_SERVER_WS_MAX_TEXT_MESSAGE_BUFFER_SIZE · Default 32768

Maximum size (bytes) of incoming WS text message

TB_SERVER_WS_MAX_BINARY_MESSAGE_BUFFER_SIZE · Default 32768

Maximum size (bytes) of incoming WS binary message

TB_SERVER_WS_DEFAULT_QUEUE_MESSAGES_PER_SESSION · Default 1000

Maximum queue size of the websocket updates per session. This restriction prevents infinite updates of WS

TB_SERVER_WS_AUTH_TIMEOUT_MS · Default 10000

Maximum time between WS session opening and sending auth command

TB_SERVER_WS_SUBSCRIPTIONS_PER_TENANT_RATE_LIMIT

Per-tenant rate limit for WS subscriptions

TB_SERVER_WS_SUBSCRIPTIONS_PER_USER_RATE_LIMIT

Per-user rate limit for WS subscriptions

TB_ALARMS_PER_ALARM_STATUS_SUBSCRIPTION_CACHE_SIZE · Default 10

Maximum number of active originator alarm ids being saved in cache for single alarm status subscription. For example, no more than 10 alarm ids on the alarm widget

MIN_SERVER_SIDE_RPC_TIMEOUT · Default 5000

Minimum value of the server-side RPC timeout. May override value provided in the REST API call. Since 2.5 migration to queues, the RPC delay depends on the size of the pending messages in the queue. So default UI parameter of 500ms may not be sufficient for loaded environments.

DEFAULT_SERVER_SIDE_RPC_TIMEOUT · Default 10000

Default value of the server-side RPC timeout.

RESET_PASSWORD_PER_USER_RATE_LIMIT_CONFIGURATION · Default 5:3600

Limit that prohibits resetting the password for the user too often. The value of the rate limit. By default, no more than 5 requests per hour

DEFAULT_RULE_ENGINE_RESPONSE_TIMEOUT · Default 10000

Default timeout for waiting response of REST API request to Rule Engine in milliseconds

ZOOKEEPER_ENABLED · Default false

Enable/disable ZooKeeper discovery service.

ZOOKEEPER_URL · Default localhost:2181

ZooKeeper connect string

ZOOKEEPER_RETRY_INTERVAL_MS · Default 3000

ZooKeeper retry interval in milliseconds

ZOOKEEPER_CONNECTION_TIMEOUT_MS · Default 3000

ZooKeeper connection timeout in milliseconds

ZOOKEEPER_SESSION_TIMEOUT_MS · Default 3000

ZooKeeper session timeout in milliseconds

ZOOKEEPER_NODES_DIR · Default /thingsboard

Name of the directory in ZooKeeper ‘filesystem’

ZOOKEEPER_RECALCULATE_DELAY_MS · Default 0

The recalculate_delay property is recommended in a microservices architecture setup for rule-engine services. This property provides a pause to ensure that when a rule-engine service is restarted, other nodes don’t immediately attempt to recalculate their partitions. The delay is recommended because the initialization of rule chain actors is time-consuming. Avoiding unnecessary recalculations during a restart can enhance system performance and stability.

TB_CLUSTER_STATS_ENABLED · Default false

Enable/Disable the cluster statistics. Calculates the number of messages sent between cluster nodes based on each type

TB_CLUSTER_STATS_PRINT_INTERVAL_MS · Default 10000

Interval of printing the cluster stats to the log file

PLUGINS_SCAN_PACKAGES · Default org.thingsboard.server.extensions,org.thingsboard.rule.engine

Comma-separated package list used during classpath scanning for plugins

JWT_TOKEN_EXPIRATION_TIME · Default 9000

Number of seconds (2.5 hours)

JWT_REFRESH_TOKEN_EXPIRATION_TIME · Default 604800

Number of seconds (1 week).

JWT_TOKEN_ISSUER · Default thingsboard.io

User JWT Token issuer

JWT_TOKEN_SIGNING_KEY · Default thingsboardDefaultSigningKey

Base64 encoded

SECURITY_USER_TOKEN_ACCESS_ENABLED · Default true

Enable/disable access to Tenant Administrators JWT token by System Administrator or Customer Users JWT token by Tenant Administrator

SECURITY_API_KEY_VALUE_PREFIX · Default tb_

Prefix for the auto-generated API key. For example, tb_Ood4dQMxWvMH-76z3E_Cv0mZaBWT0Clk3hRSO0P_jNQ

SECURITY_API_KEY_VALUE_PREFIX · Default 64

Length of the auto-generated API key. Max is 255

SECURITY_USER_LOGIN_CASE_SENSITIVE · Default true

Enable/disable case-sensitive username login

SECURITY_CLAIM_ALLOW_CLAIMING_BY_DEFAULT · Default true

Enable/disable claiming devices; if false -> the device’s [claimingAllowed] SERVER_SCOPE attribute must be set to [true] to allow claiming the specific device

SECURITY_CLAIM_DURATION · Default 86400000

1 minute, note this value must equal claimDevices.timeToLiveInMinutes value

SECURITY_BASIC_ENABLED · Default false

Enable/Disable basic security options

SECURITY_OAUTH2_LOGIN_PROCESSING_URL · Default /login/oauth2/code/

Redirect URL where access code from external user management system will be processed

SECURITY_OAUTH2_GITHUB_MAPPER_EMAIL_URL_KEY · Default https://api.github.com/user/emails

The email addresses that will be mapped from the URL

SECURITY_JAVA_CACERTS_PATH · Default ${java.home}/lib/security/cacerts

CA certificates keystore default path. Typically this keystore is at JAVA_HOME/lib/security/cacerts

SECURITY_JAVA_CACERTS_PASSWORD · Default changeit

The password of the cacerts keystore file

SECURITY_HEADERS_X_CONTENT_TYPE_OPTIONS_ENABLED · Default true

Enable/disable X-Content-Type-Options header. Prevents browsers from MIME-sniffing the Content-Type

SECURITY_HEADERS_REFERRER_POLICY_ENABLED · Default true

Enable/disable Referrer-Policy header

SECURITY_HEADERS_REFERRER_POLICY_VALUE · Default strict-origin-when-cross-origin

Referrer-Policy header value

SECURITY_HEADERS_X_FRAME_OPTIONS_ENABLED · Default false

Enable/disable X-Frame-Options header. Protects against clickjacking attacks

SECURITY_HEADERS_X_FRAME_OPTIONS_VALUE · Default SAMEORIGIN

Valid values: DENY, SAMEORIGIN

SECURITY_HEADERS_CONTENT_SECURITY_POLICY_ENABLED · Default false

Enable/disable Content-Security-Policy header. Mitigates XSS and data injection attacks

SECURITY_HEADERS_CONTENT_SECURITY_POLICY_VALUE · Default default-src ‘self’; script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’; style-src ‘self’ ‘unsafe-inline’; img-src ‘self’ data: blob: https://img.thingsboard.io https://tile.openstreetmap.org https://*.tile.openstreetmap.org https://*.arcgis.com; font-src ‘self’ data:; connect-src ‘self’ ws: wss: https://*.arcgis.com https://*.arcgisonline.com; worker-src ‘self’ blob:; frame-ancestors ‘self’

Full CSP directive string. The default value is a working policy for most ThingsBoard deployments

SECURITY_HEADERS_CONTENT_SECURITY_POLICY_REPORT_ONLY · Default false

If true, uses Content-Security-Policy-Report-Only header instead — the browser reports violations but does not enforce them. Use for testing before enforcing.

REFRESH_TOKEN_EXPIRATION_CHECKING_INTERVAL · Default 86400

Interval for checking refresh token expiration in seconds(by default, 1 day).

MAIL_PER_TENANT_RATE_LIMITS

Rate limits for sending mails per tenant. As example for 1000 per minute and 10000 per hour is “1000:60,10000:3600”

USAGE_STATS_REPORT_ENABLED · Default true

Enable/Disable the collection of API usage statistics. Collected on a system and tenant level by default

USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED · Default false

Enable/Disable the collection of API usage statistics on a customer level

USAGE_STATS_REPORT_INTERVAL · Default 60

Statistics reporting interval, set to send summarized data every 10 seconds by default

USAGE_STATS_REPORT_URGENT_INTERVAL · Default 10

Reporting interval for urgent keys (e.g. SMS, Email) that require quicker usage state updates

USAGE_STATS_REPORT_PACK_SIZE · Default 1024

Amount of statistic messages in pack

USAGE_STATS_CHECK_CYCLE · Default 60000

Interval of checking the start of the next cycle and re-enabling the blocked tenants/customers

USAGE_STATS_GAUGE_REPORT_INTERVAL · Default 180000

In milliseconds. The default value is 3 minutes

DEVICES_STATS_REPORT_INTERVAL · Default 60

In seconds, the default value is 1 minute. When changing, in cluster mode, make sure usage.stats.gauge_report_interval is set to x2-x3 of this value

DASHBOARD_MAX_DATAPOINTS_LIMIT · Default 50000

Maximum allowed datapoints fetched by widgets

UI_HELP_BASE_URL · Default https://raw.githubusercontent.com/thingsboard/thingsboard-ui-help/release-4.4

Base URL for UI help assets

DATABASE_TS_MAX_INTERVALS · Default 700

Max number of DB queries generated by a single API call to fetch telemetry records

DATABASE_TS_TYPE · Default sql

cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

DATABASE_TS_LATEST_TYPE · Default sql

cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)

CASSANDRA_CLUSTER_NAME · Default Thingsboard Cluster

Thingsboard cluster name

CASSANDRA_KEYSPACE_NAME · Default thingsboard

Thingsboard keyspace name

CASSANDRA_URL · Default 127.0.0.1:9042

Specify node list

CASSANDRA_LOCAL_DATACENTER · Default datacenter1

Specify the local data center name

CASSANDRA_USE_SSL · Default false

Enable/disable secure connection

CASSANDRA_SSL_HOSTNAME_VALIDATION · Default true

Enable/disable validation of Cassandra server hostname If enabled, the hostname of the Cassandra server must match the CN of the server certificate

CASSANDRA_SSL_TRUST_STORE

Set trust store for client authentication of the server (optional, uses trust store from default SSLContext if not set)

CASSANDRA_SSL_TRUST_STORE_PASSWORD

The password for Cassandra trust store key

CASSANDRA_SSL_KEY_STORE

Set key store for server authentication of the client (optional, uses key store from default SSLContext if not set) A key store is only needed if the Cassandra server requires client authentication

CASSANDRA_SSL_KEY_STORE_PASSWORD

The password for the Cassandra key store

CASSANDRA_SSL_CIPHER_SUITES

Comma-separated list of cipher suites (optional, uses Java default cipher suites if not set)

CASSANDRA_USE_JMX · Default false

Enable/disable JMX

CASSANDRA_USE_METRICS · Default false

Enable/disable metrics collection.

CASSANDRA_COMPRESSION · Default none

NONE SNAPPY LZ4

CASSANDRA_CLUSTER_INIT_TIMEOUT_MS · Default 300000

Specify cassandra cluster initialization timeout in milliseconds (if no hosts are available during startup)

CASSANDRA_CLUSTER_INIT_RETRY_INTERVAL_MS · Default 3000

Specify cassandra cluster initialization retry interval (if no hosts available during startup)

CASSANDRA_MAX_REQUESTS_PER_CONNECTION_LOCAL · Default 32768

Cassandra max local requests per connection

CASSANDRA_MAX_REQUESTS_PER_CONNECTION_REMOTE · Default 32768

Cassandra max remote requests per connection

CASSANDRA_USE_CREDENTIALS · Default false

Credential parameters

CASSANDRA_USERNAME

Specify your username

CASSANDRA_PASSWORD

Specify your password

CASSANDRA_CLOUD_SECURE_BUNDLE_PATH

/etc/thingsboard/astra/secure-connect-thingsboard.zip

CASSANDRA_CLOUD_CLIENT_ID

DucitQPHMzPCBOZqFYexAfKk

CASSANDRA_CLOUD_CLIENT_SECRET

ZnF7FpuHp43FP5BzM+KY8wGmSb4Ql6BhT4Z7sOU13ze+gXQ-n7OkFpNuB,oACUIQObQnK0g4bSPoZhK5ejkcF9F.j6f64j71Sr.tiRe0Fsq2hPS1ZCGSfAaIgg63IydG

CASSANDRA_SOCKET_TIMEOUT · Default 5000

Sets the timeout, in milliseconds, of a native connection from ThingsBoard to Cassandra. The default value is 5000

CASSANDRA_SOCKET_READ_TIMEOUT · Default 20000

Timeout before closing the connection. Value set in milliseconds

CASSANDRA_SOCKET_KEEP_ALIVE · Default true

Gets if TCP keep-alive must be used

CASSANDRA_SOCKET_REUSE_ADDRESS · Default true

Enable/Disable reuse-address. The socket option allows for the reuse of local addresses and ports

CASSANDRA_SOCKET_SO_LINGER

Sets the linger-on-close timeout. By default, this option is not set by the driver. The actual value will be the default from the underlying Netty transport

CASSANDRA_SOCKET_TCP_NO_DELAY · Default false

Enable/Disable Nagle’s algorithm

CASSANDRA_SOCKET_RECEIVE_BUFFER_SIZE

Sets a hint to the size of the underlying buffers for incoming network I/O. By default, this option is not set by the driver. The actual value will be the default from the underlying Netty transport

CASSANDRA_SOCKET_SEND_BUFFER_SIZE

Returns the hint to the size of the underlying buffers for outgoing network I/O. By default, this option is not set by the driver. The actual value will be the default from the underlying Netty transport

CASSANDRA_READ_CONSISTENCY_LEVEL · Default ONE

Consistency levels in Cassandra can be configured to manage availability versus data accuracy. The consistency level defaults to ONE for all write and read operations

CASSANDRA_WRITE_CONSISTENCY_LEVEL · Default ONE

Consistency levels in Cassandra can be configured to manage availability versus data accuracy. The consistency level defaults to ONE for all write and read operations

CASSANDRA_DEFAULT_FETCH_SIZE · Default 2000

The fetch size specifies how many rows will be returned at once by Cassandra (in other words, it’s the size of each page)

TS_KV_PARTITIONING · Default MONTHS

Specify partitioning size for timestamp key-value storage. Example: MINUTES, HOURS, DAYS, MONTHS, INDEFINITE

USE_TS_KV_PARTITIONING_ON_READ · Default true

Enable/Disable timestamp key-value partitioning on read queries

USE_TS_KV_PARTITIONING_ON_READ_MAX_ESTIMATED_PARTITION_COUNT · Default 40

Safety trigger to fall back to use_ts_key_value_partitioning_on_read as true if estimated partitions count is greater than safety trigger value. It helps to prevent building huge partition list (OOM) for corner cases (like from 0 to infinity) and prefer fewer reads strategy from NoSQL database

TS_KV_PARTITIONS_MAX_CACHE_SIZE · Default 100000

The number of partitions that are cached in memory of each service. It is useful to decrease the load of re-inserting the same partitions again

TS_KV_TTL · Default 0

Timeseries Time To Live (in seconds) for Cassandra Record. 0 - record has never expired

CASSANDRA_QUERY_BUFFER_SIZE · Default 200000

Maximum number of Cassandra queries that are waiting for execution

CASSANDRA_QUERY_CONCURRENT_LIMIT · Default 1000

Maximum number of concurrent Cassandra queries

PERMIT_MAX_WAIT_TIME · Default 120000

Max time in milliseconds query waits for execution

CASSANDRA_QUERY_DISPATCHER_THREADS · Default 2

Amount of threads to dispatch cassandra queries

CASSANDRA_QUERY_CALLBACK_THREADS · Default 4

Buffered rate executor (read, write) for managing I/O rate. See “nosql-*-callback” threads in JMX

CASSANDRA_QUERY_RESULT_PROCESSING_THREADS · Default 50

Result set transformer and processing. See “cassandra-callback” threads in JMX

CASSANDRA_QUERY_POLL_MS · Default 50

Cassandra query queue polling interval in milliseconds

CASSANDRA_QUERY_RATE_LIMIT_PRINT_MS · Default 10000

Interval in milliseconds for printing Cassandra query queue statistic

CASSANDRA_QUERY_SET_NULL_VALUES_ENABLED · Default true

When saving a value, set other data types to null (to avoid having multiple telemetry values with the same timestamp).

CASSANDRA_QUERY_PRINT_FREQ · Default 0

log one of cassandra queries with specified frequency (0 - logging is disabled)

CASSANDRA_QUERY_MAX_RESULT_SET_SIZE_IN_BYTES · Default 52428800

Maximum total size in bytes of a Cassandra query result set across all pages. Default is 50MB. 0 means unlimited

CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES · Default false

Whether to print rate-limited tenant names when printing Cassandra query queue statistic

SQL_ATTRIBUTES_BATCH_SIZE · Default 1000

Batch size for persisting attribute updates

SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS · Default 50

Max timeout for attributes entries queue polling. The value is set in milliseconds

SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS · Default 10000

Interval in milliseconds for printing attributes updates statistic

SQL_ATTRIBUTES_BATCH_THREADS · Default 3

batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution

SQL_ATTRIBUTES_VALUE_NO_XSS_VALIDATION · Default false

If true attribute values will be checked for XSS vulnerability

SQL_TS_BATCH_SIZE · Default 10000

Batch size for persisting timeseries inserts

SQL_TS_BATCH_MAX_DELAY_MS · Default 100

Max timeout for time-series entries queue polling. The value set in milliseconds

SQL_TS_BATCH_STATS_PRINT_MS · Default 10000

Interval in milliseconds for printing timeseries insert statistic

SQL_TS_BATCH_THREADS · Default 3

batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution

SQL_TS_VALUE_NO_XSS_VALIDATION · Default false

If true telemetry values will be checked for XSS vulnerability

SQL_TS_CALLBACK_THREAD_POOL_SIZE · Default 12

Thread pool size for telemetry callback executor

SQL_TS_LATEST_BATCH_SIZE · Default 1000

Batch size for persisting latest telemetry updates

SQL_TS_LATEST_BATCH_MAX_DELAY_MS · Default 50

Maximum timeout for latest telemetry entries queue polling. The value set in milliseconds

SQL_TS_LATEST_BATCH_STATS_PRINT_MS · Default 10000

Interval in milliseconds for printing latest telemetry updates statistic

SQL_TS_LATEST_BATCH_THREADS · Default 3

batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution

SQL_TS_UPDATE_BY_LATEST_TIMESTAMP · Default true

Update latest values only if the timestamp of the new record is greater or equals the timestamp of the previously saved latest value. The latest values are stored separately from historical values for fast lookup from DB. Insert of historical value happens in any case

SQL_EVENTS_BATCH_SIZE · Default 10000

Batch size for persisting latest telemetry updates

SQL_EVENTS_BATCH_MAX_DELAY_MS · Default 100

Max timeout for latest telemetry entries queue polling. The value set in milliseconds

SQL_EVENTS_BATCH_STATS_PRINT_MS · Default 10000

Interval in milliseconds for printing latest telemetry updates statistic

SQL_EVENTS_BATCH_THREADS · Default 3

batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution

SQL_EVENTS_REGULAR_PARTITION_SIZE_HOURS · Default 168

Number of hours to partition the events. The current value corresponds to one week.

SQL_EVENTS_DEBUG_PARTITION_SIZE_HOURS · Default 1

Number of hours to partition the debug events. The current value corresponds to one hour.

SQL_EDGE_EVENTS_BATCH_SIZE · Default 1000

Batch size for persisting latest telemetry updates

SQL_EDGE_EVENTS_BATCH_MAX_DELAY_MS · Default 100

Max timeout for latest telemetry entries queue polling. The value set in milliseconds

SQL_EDGE_EVENTS_BATCH_STATS_PRINT_MS · Default 10000

Interval in milliseconds for printing latest telemetry updates statistic

SQL_EDGE_EVENTS_PARTITION_SIZE_HOURS · Default 168

Number of hours to partition the events. The current value corresponds to one week.

SQL_AUDIT_LOGS_PARTITION_SIZE_HOURS · Default 168

Default value - 1 week

SQL_ALARM_COMMENTS_PARTITION_SIZE_HOURS · Default 168

Default value - 1 week

SQL_NOTIFICATIONS_PARTITION_SIZE_HOURS · Default 168

Default value - 1 week

SQL_BATCH_SORT · Default true

Specify whether to sort entities before batch update. Should be enabled for cluster mode to avoid deadlocks

SQL_REMOVE_NULL_CHARS · Default true

Specify whether to remove null characters from strValue of attributes and timeseries before insert

SQL_LOG_QUERIES · Default false

Specify whether to log database queries and their parameters generated by the entity query repository

SQL_LOG_QUERIES_THRESHOLD · Default 5000

Threshold of slow SQL queries to log. The value set in milliseconds

SQL_LOG_TENANT_STATS · Default true

Enable/Disable logging statistic information about tenants

SQL_LOG_TENANT_STATS_INTERVAL_MS · Default 60000

Interval in milliseconds for printing the latest statistic information about the tenant

SQL_POSTGRES_TS_KV_PARTITIONING · Default MONTHS

Specify partitioning size for timestamp key-value storage. Example: DAYS, MONTHS, YEARS, INDEFINITE.

SQL_TIMESCALE_CHUNK_TIME_INTERVAL · Default 604800000

Specify Interval size for new data chunks storage.

SQL_TIMESCALE_BATCH_THREADS · Default 3

batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution

SQL_TTL_TS_ENABLED · Default true

Enable/disable TTL (Time To Live) for timeseries records

SQL_TTL_TS_EXECUTION_INTERVAL · Default 86400000

Number of milliseconds. The current value corresponds to one day

SQL_TTL_TS_TS_KEY_VALUE_TTL · Default 0

The parameter to specify system TTL(Time To Live) value for timeseries records. Value set in seconds. 0 - records are never expired.

SQL_TTL_EVENTS_ENABLED · Default true

Enable/disable TTL (Time To Live) for event records

SQL_TTL_EVENTS_EXECUTION_INTERVAL · Default 3600000

Number of milliseconds (max random initial delay and fixed period).

SQL_TTL_EVENTS_EVENTS_TTL · Default 0

Number of seconds. TTL is disabled by default. The accuracy of the cleanup depends on the sql.events.partition_size parameter.

SQL_TTL_EVENTS_DEBUG_EVENTS_TTL · Default 604800

Number of seconds. The current value corresponds to one week. The accuracy of the cleanup depends on the sql.events.debug_partition_size parameter.

SQL_TTL_EDGE_EVENTS_ENABLED · Default true

Enable/disable TTL (Time To Live) for edge event records

SQL_TTL_EDGE_EVENTS_EXECUTION_INTERVAL · Default 86400000

Number of milliseconds. The current value corresponds to one day

SQL_TTL_EDGE_EVENTS_TTL · Default 2628000

Number of seconds. The current value corresponds to one month

SQL_ALARMS_TTL_CHECKING_INTERVAL · Default 7200000

Number of milliseconds. The current value corresponds to two hours

SQL_ALARMS_TTL_REMOVAL_BATCH_SIZE · Default 3000

Batch size for records removal

SQL_TTL_RPC_ENABLED · Default true

Enable/disable TTL (Time To Live) for rpc call records

SQL_RPC_TTL_CHECKING_INTERVAL · Default 7200000

Number of milliseconds. The current value corresponds to two hours

SQL_RPC_TTL_REMOVAL_BATCH_SIZE · Default 10000

Batch size for records removal

SQL_TTL_AUDIT_LOGS_ENABLED · Default true

Enable/disable TTL (Time To Live) for audit log records

SQL_TTL_AUDIT_LOGS_SECS · Default 0

Disabled by default. The accuracy of the cleanup depends on the sql.audit_logs.partition_size

SQL_TTL_AUDIT_LOGS_CHECKING_INTERVAL_MS · Default 86400000

Default value - 1 day

SQL_TTL_NOTIFICATIONS_ENABLED · Default true

Enable/disable TTL (Time To Live) for notification center records

SQL_TTL_NOTIFICATIONS_SECS · Default 2592000

Default value - 30 days

SQL_TTL_NOTIFICATIONS_CHECKING_INTERVAL_MS · Default 86400000

Default value - 1 day

SQL_TTL_NOTIFICATIONS_REMOVAL_BATCH_SIZE · Default 10000

Batch size for records removal

SQL_TTL_API_KEYS_ENABLED · Default true

Enable/disable TTL (Time To Live) for expired api keys records

SQL_TTL_API_KEYS_CHECKING_INTERVAL_MS · Default 86400000

Default value - 1 day

SQL_RELATIONS_MAX_LEVEL · Default 50

This value has to be reasonably small to prevent infinite recursion as early as possible

SQL_RELATIONS_POOL_SIZE · Default 4

This value has to be reasonably small to prevent the relation query from blocking all other DB calls

SQL_RELATIONS_QUERY_TIMEOUT_SEC · Default 20

This value has to be reasonably small to prevent the relation query from blocking all other DB calls

ACTORS_SYSTEM_THROUGHPUT · Default 5

Number of messages the actor system will process per actor before switching to processing of messages for the next actor

ACTORS_SYSTEM_SCHEDULER_POOL_SIZE · Default 1

Thread pool size for actor system scheduler

ACTORS_SYSTEM_MAX_ACTOR_INIT_ATTEMPTS · Default 10

Maximum number of attempts to init the actor before disabling the actor

ACTORS_SYSTEM_APP_DISPATCHER_POOL_SIZE · Default 1

Thread pool size for main actor system dispatcher

ACTORS_SYSTEM_TENANT_DISPATCHER_POOL_SIZE · Default 2

Thread pool size for actor system dispatcher that process messages for tenant actors

ACTORS_SYSTEM_DEVICE_DISPATCHER_POOL_SIZE · Default 4

Thread pool size for actor system dispatcher that process messages for device actors

ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE · Default 8

Thread pool size for actor system dispatcher that process messages for rule engine (chain/node) actors

ACTORS_SYSTEM_EDGE_DISPATCHER_POOL_SIZE · Default 4

Thread pool size for actor system dispatcher that process messages for edge actors

ACTORS_SYSTEM_CFM_DISPATCHER_POOL_SIZE · Default 2

Thread pool size for actor system dispatcher that process messages for CalculatedField manager actors

ACTORS_SYSTEM_CFE_DISPATCHER_POOL_SIZE · Default 8

Thread pool size for actor system dispatcher that process messages for CalculatedField entity actors

ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT · Default true

Create components in initialization

ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE · Default 1

Max number of concurrent sessions per device

ACTORS_SESSION_SYNC_TIMEOUT · Default 10000

Default timeout for processing requests using synchronous session (HTTP, CoAP) in milliseconds

ACTORS_RULE_DB_CALLBACK_THREAD_POOL_SIZE · Default 50

Specify thread pool size for database request callbacks executor service

ACTORS_RULE_MAIL_THREAD_POOL_SIZE · Default 40

Specify thread pool size for mail sender executor service

ACTORS_RULE_MAIL_PASSWORD_RESET_THREAD_POOL_SIZE · Default 10

Specify thread pool size for password reset emails

ACTORS_RULE_SMS_THREAD_POOL_SIZE · Default 50

Specify thread pool size for sms sender executor service

ACTORS_RULE_ALLOW_SYSTEM_MAIL_SERVICE · Default true

Whether to allow usage of system mail service for rules

ACTORS_RULE_ALLOW_SYSTEM_SMS_SERVICE · Default true

Whether to allow usage of system sms service for rules

ACTORS_RULE_EXTERNAL_CALL_THREAD_POOL_SIZE · Default 50

Specify thread pool size for external call service

ACTORS_RULE_AI_REQUESTS_THREAD_POOL_NAME · Default ai-requests

The base name for threads

ACTORS_RULE_AI_REQUESTS_THREAD_POOL_SIZE · Default 50

The maximum number of concurrent HTTP requests

ACTORS_RULE_AI_REQUESTS_THREAD_POOL_TERMINATION_TIMEOUT_SECONDS · Default 60

The maximum time in seconds to wait for active tasks to complete during graceful shutdown

ACTORS_RULE_CHAIN_ERROR_FREQUENCY · Default 3000

Errors for particular actors are persisted once per specified amount of milliseconds

ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED · Default true

Enable/Disable the rate limit of persisted debug events for all rule nodes per tenant

ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION · Default 50000:3600

The value of DEBUG mode rate limit. By default, no more than 50 thousand events per hour

ACTORS_RULE_NODE_ERROR_FREQUENCY · Default 3000

Errors for particular actor are persisted once per specified amount of milliseconds

ACTORS_RULE_TRANSACTION_QUEUE_SIZE · Default 15000

Size of queues that store messages for transaction rule nodes

ACTORS_RULE_TRANSACTION_DURATION · Default 60000

Time in milliseconds for transaction to complete

ACTORS_RULE_EXTERNAL_NODE_FORCE_ACK · Default false

Force acknowledgment of the incoming message for external rule nodes to decrease processing latency. Enqueue the result of external node processing as a separate message to the rule engine.

SSRF_PROTECTION_ENABLED · Default false

Enable Server-Side Request Forgery (SSRF) protection for external HTTP rule nodes (rest api call). When enabled, requests to private/internal network addresses are blocked.

SSRF_ADDITIONAL_BLOCKED_HOSTS

Comma-separated list of additional blocked destinations (IPs, CIDR subnets, or hostnames). Example: “198.51.100.0/24,metadata.tencentyun.com,rancher-metadata”

SSRF_ALLOWED_HOSTS

Comma-separated list of allowed destinations that bypass SSRF blocking (IPs, CIDR subnets, or hostnames). Use this when your rule chains need to reach devices on private networks (e.g., 192.168.1.0/24). Example: “192.168.1.0/24,10.0.0.0/8,my-internal-service.corp”

ACTORS_RULE_EXTERNAL_HTTP_CLIENT_MAX_PARALLEL_REQUESTS · Default 0

Server-level ceiling for parallel in-flight HTTP requests per external HTTP rule node instance. Applied as min(nodeConfig, systemMax) when set; 0 = no system-level restriction (node config wins).

ACTORS_RULE_EXTERNAL_HTTP_CLIENT_MAX_PENDING_REQUESTS · Default 0

Server-level ceiling for the pending-request queue depth per external HTTP rule node instance. Applied as min(nodeConfig, systemMax) when set; 0 = no system-level restriction.

ACTORS_RULE_EXTERNAL_HTTP_CLIENT_POOL_MAX_CONNECTIONS · Default ${TB_RE_HTTP_CLIENT_POOL_MAX_CONNECTIONS:0}

Maximum number of TCP connections in the reactor-netty connection pool per external HTTP rule node instance. Defaults to reactor-netty’s ConnectionProvider.DEFAULT_POOL_MAX_CONNECTIONS: max(availableProcessors, 8) * 2 (e.g. 16 on an 8-core host). Increase for high-throughput nodes calling remote services that support many connections. 0 = use reactor-netty default.

ACTORS_RPC_MAX_RETRIES · Default 5

Maximum number of persistent RPC call retries in case of failed request delivery.

ACTORS_RPC_SUBMIT_STRATEGY_TYPE · Default BURST

RPC submit strategies. Allowed values: BURST, SEQUENTIAL_ON_ACK_FROM_DEVICE, SEQUENTIAL_ON_RESPONSE_FROM_DEVICE.

ACTORS_RPC_RESPONSE_TIMEOUT_MS · Default 30000

Time in milliseconds for RPC to receive a response after delivery. Used only for SEQUENTIAL_ON_RESPONSE_FROM_DEVICE submit strategy.

ACTORS_RPC_CLOSE_SESSION_ON_RPC_DELIVERY_TIMEOUT · Default false

Close transport session if RPC delivery timed out. If enabled, RPC will be reverted to the queued state. Note:

  • For MQTT transport:
    • QoS level 0: This feature does not apply, as no acknowledgment is expected, and therefore no timeout is triggered.
    • QoS level 1: This feature applies, as an acknowledgment is expected.
    • QoS level 2: Unsupported.
  • For CoAP transport:
    • Confirmable requests: This feature applies, as delivery confirmation is expected.
    • Non-confirmable requests: This feature does not apply, as no delivery acknowledgment is expected.
  • For HTTP and SNPM transports: RPC is considered delivered immediately, and there is no logic to await acknowledgment.

ACTORS_STATISTICS_ENABLED · Default true

Enable/disable actor statistics

ACTORS_STATISTICS_PERSIST_FREQUENCY · Default 3600000

Actors statistic persistence frequency in milliseconds

ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED · Default true

Enable/Disable the rate limit of persisted debug events for all calculated fields per tenant

ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION · Default 50000:3600

The value of DEBUG mode rate limit. By default, no more than 50 thousand events per hour

ACTORS_CALCULATION_TIMEOUT_SEC · Default 5

Time in seconds to receive calculation result.

DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES · Default 15

Default duration (in minutes) for debug mode. Min value is 1 minute. Tenant profile settings override this one. If value from this setting is invalid, the default value (15 minutes) will be used.

CACHE_TYPE · Default caffeine

caffeine or redis(7.2 - latest compatible version)

CACHE_MAXIMUM_POOL_SIZE · Default 16

max pool size to process futures that call the external cache

CACHE_ATTRIBUTES_ENABLED · Default true

make sure that if cache.type is ‘redis’ and cache.attributes.enabled is ‘true’ if you change ‘maxmemory-policy’ Redis config property to ‘allkeys-lru’, ‘allkeys-lfu’ or ‘allkeys-random’

CACHE_TS_LATEST_ENABLED · Default true

Will enable cache-aside strategy for SQL timeseries latest DAO. make sure that if cache.type is ‘redis’ and cache.ts_latest.enabled is ‘true’ if you change ‘maxmemory-policy’ Redis config property to ‘allkeys-lru’, ‘allkeys-lfu’ or ‘allkeys-random’

CACHE_SPECS_RELATIONS_TTL · Default 1440

Relations cache TTL

CACHE_SPECS_RELATIONS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_DEVICE_CREDENTIALS_TTL · Default 1440

Device credentials cache TTL

CACHE_SPECS_DEVICE_CREDENTIALS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_DEVICES_TTL · Default 1440

Device cache TTL

CACHE_SPECS_DEVICES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_SESSIONS_TTL · Default 1440

Sessions cache TTL

CACHE_SPECS_SESSIONS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_ASSETS_TTL · Default 1440

Asset cache TTL

CACHE_SPECS_ASSETS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_CUSTOMERS_TTL · Default 1440

Customer cache TTL

CACHE_SPECS_CUSTOMERS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_USERS_TTL · Default 1440

User cache TTL

CACHE_SPECS_USERS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_ENTITY_VIEWS_TTL · Default 1440

Entity view cache TTL

CACHE_SPECS_ENTITY_VIEWS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_CLAIM_DEVICES_TTL · Default 1440

Claim devices cache TTL

CACHE_SPECS_CLAIM_DEVICES_MAX_SIZE · Default 1000

0 means the cache is disabled

CACHE_SPECS_SECURITY_SETTINGS_TTL · Default 1440

Security settings cache TTL

CACHE_SPECS_SECURITY_SETTINGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_TENANT_PROFILES_TTL · Default 1440

Tenant profiles cache TTL

CACHE_SPECS_TENANT_PROFILES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_TENANTS_TTL · Default 1440

Tenant cache TTL

CACHE_SPECS_TENANTS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_TENANTS_TTL · Default 1440

Environment variables are intentionally the same as in ‘tenants’ cache to be equal.

CACHE_SPECS_TENANTS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_DEVICE_PROFILES_TTL · Default 1440

Device profile cache TTL

CACHE_SPECS_DEVICE_PROFILES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_ASSET_PROFILES_TTL · Default 1440

Asset profile cache TTL

CACHE_SPECS_ASSET_PROFILES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_NOTIFICATION_SETTINGS_TTL · Default 10

Notification settings cache TTL

CACHE_SPECS_NOTIFICATION_SETTINGS_MAX_SIZE · Default 1000

0 means the cache is disabled

CACHE_SPECS_SENT_NOTIFICATIONS_TTL · Default 1440

Sent notifications cache TTL

CACHE_SPECS_SENT_NOTIFICATIONS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_ATTRIBUTES_TTL · Default 1440

Attributes cache TTL

CACHE_SPECS_ATTRIBUTES_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_TS_LATEST_TTL · Default 1440

Timeseries latest cache TTL

CACHE_SPECS_TS_LATEST_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_USERS_UPDATE_TIME_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_OTA_PACKAGES_TTL · Default 60

Ota packages cache TTL

CACHE_SPECS_OTA_PACKAGES_MAX_SIZE · Default 10

0 means the cache is disabled

CACHE_SPECS_OTA_PACKAGES_DATA_TTL · Default 60

Ota packages data cache TTL

CACHE_SPECS_OTA_PACKAGES_DATA_MAX_SIZE · Default 10

0 means the cache is disabled

CACHE_SPECS_EDGES_TTL · Default 1440

Edges cache TTL

CACHE_SPECS_EDGES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_EDGE_SESSIONS_TTL · Default 0

Edge Sessions cache TTL; no expiration time if set to ‘0’

CACHE_SPECS_EDGE_SESSIONS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_RELATED_EDGES_TTL · Default 1440

Related Edges cache TTL

CACHE_SPECS_RELATED_EDGES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_REPOSITORY_SETTINGS_TTL · Default 1440

Repository settings cache TTL

CACHE_SPECS_REPOSITORY_SETTINGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_AUTO_COMMIT_SETTINGS_TTL · Default 1440

Autocommit settings cache TTL

CACHE_SPECS_AUTO_COMMIT_SETTINGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_TWO_FA_VERIFICATION_CODES_TTL · Default 60

Two factor verification codes cache TTL

CACHE_SPECS_TWO_FA_VERIFICATION_CODES_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_VERSION_CONTROL_TASK_TTL · Default 20

Version control task cache TTL

CACHE_SPECS_VERSION_CONTROL_TASK_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_USER_SETTINGS_TTL · Default 1440

User settings cache TTL

CACHE_SPECS_USER_SETTINGS_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_DASHBOARD_TITLES_TTL · Default 1440

Dashboard titles cache TTL

CACHE_SPECS_DASHBOARD_TITLES_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_ENTITY_COUNT_TTL · Default 1440

Entity count cache TTL

CACHE_SPECS_ENTITY_COUNT_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_RESOURCE_INFO_TTL · Default 1440

Resource info cache TTL

CACHE_SPECS_RESOURCE_INFO_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_ALARM_TYPES_TTL · Default 60

Alarm types cache TTL

CACHE_SPECS_ALARM_TYPES_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_MOBILE_APP_SETTINGS_TTL · Default 1440

Qr code settings cache TTL

CACHE_SPECS_MOBILE_APP_SETTINGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_MOBILE_SECRET_KEY_TTL · Default 2

QR secret key cache TTL

CACHE_MOBILE_SECRET_KEY_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_TRENDZ_SETTINGS_TTL · Default 1440

Trendz settings cache TTL

CACHE_SPECS_TRENDZ_SETTINGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_AI_MODEL_TTL · Default 1440

AI model cache TTL

CACHE_SPECS_AI_MODEL_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_API_KEYS_TTL · Default 1440

API keys cache TTL

CACHE_SPECS_API_KEYS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_NOTIFICATION_RULES_TTL · Default 30

Notification rules cache TTL

CACHE_SPECS_NOTIFICATION_RULES_MAX_SIZE · Default 1000

0 means the cache is disabled

CACHE_SPECS_RATE_LIMITS_TTL · Default 120

Rate limits cache TTL

CACHE_SPECS_RATE_LIMITS_MAX_SIZE · Default 200000

0 means the cache is disabled

CACHE_SPECS_ENTITY_LIMITS_TTL · Default 5

Entity limits cache TTL

CACHE_SPECS_ENTITY_LIMITS_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_IMAGE_ETAGS_TTL · Default 44640

Image ETags cache TTL

CACHE_SPECS_IMAGE_ETAGS_MAX_SIZE · Default 10000

0 means the cache is disabled

CACHE_SPECS_IMAGE_SYSTEM_BROWSER_TTL · Default 0

Browser cache TTL for system images in minutes. 0 means the cache is disabled

CACHE_SPECS_IMAGE_TENANT_BROWSER_TTL · Default 0

Browser cache TTL for tenant images in minutes. 0 means the cache is disabled

CACHE_SPECS_RESOURCE_DATA_TTL · Default 10080

TB resource data cache TTL

CACHE_SPECS_RESOURCE_DATA_MAX_SIZE · Default 100000

0 means the cache is disabled

CACHE_SPECS_USER_AUTH_DETAILS_TTL · Default 120

User auth details cache TTL

CACHE_SPECS_USER_AUTH_DETAILS_MAX_SIZE · Default 200000

0 means the cache is disabled

REDIS_CONNECTION_TYPE · Default standalone

Redis deployment type: Standalone (single Redis node deployment) OR Cluster

REDIS_HOST · Default localhost

Redis connection host

REDIS_PORT · Default 6379

Redis connection port

REDIS_USE_DEFAULT_CLIENT_CONFIG · Default true

Use the default Redis configuration file

REDIS_CLIENT_NAME · Default standalone

This value may be used only if you used not default ClientConfig

REDIS_CLIENT_CONNECT_TIMEOUT · Default 30000

This value may be used only if you used not default ClientConfig

REDIS_CLIENT_READ_TIMEOUT · Default 60000

This value may be used only if you used not default ClientConfig

REDIS_CLIENT_USE_POOL_CONFIG · Default false

This value may be used only if you used not default ClientConfig

REDIS_NODES

Comma-separated list of “host:port” pairs to bootstrap from.

REDIS_MAX_REDIRECTS · Default 12

Maximum number of redirects to follow when executing commands across the cluster.

REDIS_USE_DEFAULT_POOL_CONFIG · Default true

if set false will be used pool config build from values of the pool config section

REDIS_MASTER

Name of the master node

REDIS_SENTINELS

Comma-separated list of “host:port” pairs of sentinels

REDIS_SENTINEL_PASSWORD

Password to authenticate with sentinel

REDIS_USE_DEFAULT_POOL_CONFIG · Default true

If set false will be used pool config build from values of the pool config section

REDIS_DB · Default 0

Redis logical database index to select after connecting.

REDIS_PASSWORD

Password for Redis authentication (leave empty if not required).

REDIS_USERNAME

Redis username for ACL authentication (Redis 6.0+). Leave empty for legacy password-only auth

TB_REDIS_SSL_ENABLED · Default false

Enable/disable secure connection

TB_REDIS_SSL_PEM_CERT

Path redis server (CA) certificate

TB_REDIS_SSL_PEM_KEY

Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client

TB_REDIS_SSL_PEM_KEY_PASSWORD

Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.

REDIS_POOL_CONFIG_MAX_TOTAL · Default 128

Maximum number of connections that can be allocated by the connection pool

REDIS_POOL_CONFIG_MAX_IDLE · Default 128

Maximum number of idle connections that can be maintained in the pool without being closed

REDIS_POOL_CONFIG_MIN_IDLE · Default 16

Minumum number of idle connections that can be maintained in the pool without being closed

REDIS_POOL_CONFIG_TEST_ON_BORROW · Default false

Enable/Disable PING command sent when a connection is borrowed

REDIS_POOL_CONFIG_TEST_ON_RETURN · Default false

The property is used to specify whether to test the connection before returning it to the connection pool.

REDIS_POOL_CONFIG_TEST_WHILE_IDLE · Default true

The property is used in the context of connection pooling in Redis

REDIS_POOL_CONFIG_MIN_EVICTABLE_MS · Default 60000

Minimum time that an idle connection should be idle before it can be evicted from the connection pool. The value is set in milliseconds

REDIS_POOL_CONFIG_EVICTION_RUNS_MS · Default 30000

Specifies the time interval in milliseconds between two consecutive eviction runs

REDIS_POOL_CONFIG_MAX_WAIT_MS · Default 60000

Maximum time in milliseconds where a client is willing to wait for a connection from the pool when all connections are exhausted

REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN · Default 3

Specifies the number of connections to test for eviction during each eviction run

REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED · Default true

Determines the behavior when a thread requests a connection from the pool, but there are no available connections, and the pool cannot create more due to the maxTotal configuration

REDIS_EVICT_TTL_MS · Default 60000

TTL for short-living SET commands that are used to replace DEL to enable transaction support

UPDATES_ENABLED · Default true

Enable/disable checks for the new version

TB_CORS_ALLOWED_ORIGIN_PATTERNS · Default *

Comma-separated list of origins to allow. ’*’ allows all origins. When not set, CORS support is disabled.

TB_CORS_ALLOWED_METHODS · Default *

Comma-separated list of methods to allow. ’*’ allows all methods.

TB_CORS_ALLOWED_HEADERS · Default *

Comma-separated list of headers to allow in a request. ’*’ allows all headers.

TB_CORS_MAX_AGE · Default 1800

How long, in seconds, the response from a pre-flight request can be cached by clients.

TB_CORS_ALLOW_CREDENTIALS · Default true

Set whether credentials are supported. When not set, credentials are not supported.

SPRING_MVC_ASYNC_REQUEST_TIMEOUT · Default 30000

The default timeout for asynchronous requests in milliseconds

SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE · Default 50MB

Total file size cannot exceed 50MB when configuring file uploads

SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE · Default 50MB

Total request size for a multipart/form-data cannot exceed 50MB

SPRING_JPA_PROPERTIES_HIBERNATE_ORDER_BY_DEFAULT_NULL_ORDERING · Default last

Note: as for current Spring JPA version, custom NullHandling for the Sort.Order is ignored and this parameter is used

SPRING_JPA_DIALECT · Default org.thingsboard.server.dao.ThingsboardPostgreSQLDialect

we use custom dialect that contains ilike(arg1, arg2) function (is interpreted to postgres ILIKE operator)

JAVAX_PERSISTENCE_QUERY_TIMEOUT · Default 30000

General timeout for JDBC queries

SPRING_DRIVER_CLASS_NAME · Default org.postgresql.Driver

Database driver for Spring JPA - org.postgresql.Driver

SPRING_DATASOURCE_URL · Default jdbc:postgresql://localhost:5432/thingsboard

Database connection URL

SPRING_DATASOURCE_USERNAME · Default postgres

Database user name

SPRING_DATASOURCE_PASSWORD · Default postgres

Database user password

SPRING_DATASOURCE_HIKARI_LEAK_DETECTION_THRESHOLD · Default 0

This property controls the amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak. A value of 0 means leak detection is disabled

SPRING_DATASOURCE_MAXIMUM_POOL_SIZE · Default 16

This property increases the number of connections in the pool as demand increases. At the same time, the property ensures that the pool doesn’t grow to the point of exhausting a system’s resources, which ultimately affects an application’s performance and availability

SPRING_DATASOURCE_HIKARI_REGISTER_MBEANS · Default false

Enable MBean to diagnose pools state via JMX

SPRING_DEDICATED_EVENTS_DATASOURCE_ENABLED · Default false

Enable dedicated datasource (a separate database) for events and audit logs. Before enabling this, make sure you have set up the following tables in the new DB: error_event, lc_event, rule_chain_debug_event, rule_node_debug_event, stats_event, audit_log, cf_debug_event

SPRING_EVENTS_DATASOURCE_DRIVER_CLASS_NAME · Default org.postgresql.Driver

Database driver for Spring JPA for events datasource

SPRING_EVENTS_DATASOURCE_URL · Default jdbc:postgresql://localhost:5432/thingsboard_events

Database connection URL for events datasource

SPRING_EVENTS_DATASOURCE_USERNAME · Default postgres

Database username for events datasource

SPRING_EVENTS_DATASOURCE_PASSWORD · Default postgres

Database user password for events datasource

SPRING_EVENTS_DATASOURCE_HIKARI_LEAK_DETECTION_THRESHOLD · Default 0

This property controls the amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak for events datasource. A value of 0 means leak detection is disabled

SPRING_EVENTS_DATASOURCE_MAXIMUM_POOL_SIZE · Default 4

This property increases the number of connections in the pool as demand increases for events datasource. At the same time, the property ensures that the pool doesn’t grow to the point of exhausting a system’s resources, which ultimately affects an application’s performance and availability

SPRING_EVENTS_DATASOURCE_HIKARI_REGISTER_MBEANS · Default false

Enable MBean to diagnose pools state via JMX for events datasource

AUDIT_LOG_ENABLED · Default true

Enable/disable audit log functionality.

AUDIT_LOG_MASK_DEVICE · Default W

Device logging levels.

AUDIT_LOG_MASK_ASSET · Default W

Asset logging levels.

AUDIT_LOG_MASK_DASHBOARD · Default W

Dashboard logging levels.

AUDIT_LOG_MASK_WIDGET_TYPE · Default W

Widget type logging levels.

AUDIT_LOG_MASK_WIDGETS_BUNDLE · Default W

Widget bundles logging levels.

AUDIT_LOG_MASK_CUSTOMER · Default W

Customer logging levels.

AUDIT_LOG_MASK_USER · Default W

User logging levels.

AUDIT_LOG_MASK_RULE_CHAIN · Default W

Rule chain logging levels.

AUDIT_LOG_MASK_ALARM · Default W

Alarm logging levels.

AUDIT_LOG_MASK_ENTITY_VIEW · Default W

Entity view logging levels.

AUDIT_LOG_MASK_DEVICE_PROFILE · Default W

Device profile logging levels.

AUDIT_LOG_MASK_ASSET_PROFILE · Default W

Asset profile logging levels.

AUDIT_LOG_MASK_EDGE · Default W

Edge logging levels.

AUDIT_LOG_MASK_RESOURCE · Default W

TB resource logging levels.

AUDIT_LOG_MASK_OTA_PACKAGE · Default W

Ota package logging levels.

AUDIT_LOG_MASK_CALCULATED_FIELD · Default W

Calculated field logging levels.

AUDIT_LOG_MASK_AI_MODEL · Default W

AI model logging levels.

AUDIT_LOG_SINK_TYPE · Default none

Type of external sink. possible options: none, elasticsearch

AUDIT_LOG_SINK_INDEX_PATTERN · Default @{TENANT}_AUDIT_LOG_@{DATE}

Name of the index where audit logs are stored Index name could contain next placeholders (not mandatory): @{TENANT} - substituted by tenant ID @{DATE} - substituted by current date in format provided in audit_log.sink.date_format

AUDIT_LOG_SINK_DATE_FORMAT · Default YYYY.MM.dd

Date format. Details of the pattern can be found here: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

AUDIT_LOG_SINK_SCHEME_NAME · Default http

http or https

AUDIT_LOG_SINK_HOST · Default localhost

Host of external sink system

AUDIT_LOG_SINK_PORT · Default 9200

Port of external sink system

AUDIT_LOG_SINK_USER_NAME

Username used to access external sink system

AUDIT_LOG_SINK_PASSWORD

Password used to access external sink system

DEFAULT_INACTIVITY_TIMEOUT · Default 600

Device inactivity timeout is a global configuration parameter that defines when the device will be marked as “inactive” by the server. The parameter value is in seconds. A user can overwrite this parameter for an individual device by setting the “inactivityTimeout” server-side attribute (NOTE: expects value in milliseconds). We recommend this parameter to be in sync with session inactivity timeout (“transport.sessions.inactivity_timeout” or TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT) parameter which is responsible for detection of the stale device connection sessions. The value of the session inactivity timeout parameter should be greater or equal to the device inactivity timeout. Note that the session inactivity timeout is set in milliseconds while device inactivity timeout is in seconds.

DEFAULT_STATE_CHECK_INTERVAL · Default 60

Interval for checking the device state after a specified period. Time in seconds

PERSIST_STATE_TO_TELEMETRY · Default false

Controls whether we store the device ‘active’ flag in attributes (default) or telemetry. If you decide to change this parameter, you should re-create the device info view as one of the following: If ‘persistToTelemetry’ is changed from ‘false’ to ‘true’: ‘CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_ts_view;’ If ‘persistToTelemetry’ is changed from ‘true’ to ‘false’: ‘CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_attribute_view;‘

STATE_TELEMETRY_TTL · Default 0

Millisecond value defining time-to-live for device state telemetry data (e.g. ‘active’, ‘lastActivityTime’). Used only when state.persistToTelemetry is set to ‘true’ and Cassandra is used for timeseries data. 0 means time-to-live mechanism is disabled.

TB_DEVICE_STATE_INIT_FETCH_PACK_SIZE · Default 50000

Number of device records to fetch per batch when initializing device activity states

DEVICE_STATE_NODE_RATE_LIMIT_CONFIGURATION · Default 1:1,30:60,60:3600

Defines the rate at which device connectivity events can be triggered. Comma-separated list of capacity:duration pairs that define bandwidth capacity and refill duration for token bucket rate limit algorithm. Refill is set to be greedy. Please refer to Bucket4j library documentation for more details.

TBEL_ENABLED · Default true

Enable/Disable TBEL feature.

TBEL_MAX_TOTAL_ARGS_SIZE · Default 100000

Limit the number of arguments that are passed to the function to execute the script

TBEL_MAX_RESULT_SIZE · Default 300000

Maximum allowed symbols in a result after processing a script

TBEL_MAX_SCRIPT_BODY_SIZE · Default 50000

Maximum allowed symbols in the script body

TBEL_MAX_MEMORY_LIMIT_MB · Default 8

Maximum allowed TBEL script execution memory

TBEL_MAX_ERRORS · Default 3

Maximum allowed TBEL script execution errors before it will be blacklisted

TBEL_MAX_REQUEST_TIMEOUT · Default 500

TBEL Eval max request timeout in milliseconds. 0 - no timeout

TBEL_MAX_BLACKLIST_DURATION_SEC · Default 60

Maximum time in seconds for black listed function to stay in the list.

TBEL_THREAD_POOL_SIZE · Default 50

Specify thread pool size for javascript executor service

TBEL_COMPILED_SCRIPTS_CACHE_SIZE · Default 1000

Maximum cache size of TBEL compiled scripts

TB_TBEL_STATS_ENABLED · Default false

Enable/Disable stats collection for TBEL engine

TB_TBEL_STATS_PRINT_INTERVAL_MS · Default 10000

Interval of logging for TBEL stats

JS_EVALUATOR · Default local

local (Nashorn Engine, deprecated) OR remote JS-Executors (NodeJS)

JS_MAX_TOTAL_ARGS_SIZE · Default 100000

Limit the number of arguments that are passed to the function to execute the script

JS_MAX_RESULT_SIZE · Default 300000

Maximum allowed symbols in a result after processing a script

JS_MAX_SCRIPT_BODY_SIZE · Default 50000

Maximum allowed symbols in script body

LOCAL_JS_THREAD_POOL_SIZE · Default 50

Specify thread pool size for javascript executor service

USE_LOCAL_JS_SANDBOX · Default true

Use Sandboxed (secured) JVM JavaScript environment

LOCAL_JS_SANDBOX_MONITOR_THREAD_POOL_SIZE · Default 4

Specify thread pool size for JavaScript sandbox resource monitor

LOCAL_JS_SANDBOX_MAX_CPU_TIME · Default 8000

Maximum CPU time in milliseconds allowed for script execution

LOCAL_JS_SANDBOX_MAX_MEMORY · Default 104857600

Maximum memory in Bytes which JS executor thread can allocate (approximate calculation). A zero memory limit in combination with a non-zero CPU limit is not recommended due to the implementation of Nashorn 0.4.2. 100MiB is effectively unlimited for most cases

LOCAL_JS_SANDBOX_MAX_ERRORS · Default 3

Maximum allowed JavaScript execution errors before JavaScript will be blacklisted

LOCAL_JS_MAX_REQUEST_TIMEOUT · Default 0

JS Eval max request timeout. 0 - no timeout

LOCAL_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC · Default 60

Maximum time in seconds for black listed function to stay in the list.

TB_JS_LOCAL_STATS_ENABLED · Default false

Enable/Disable stats collection for local JS executor

TB_JS_LOCAL_STATS_PRINT_INTERVAL_MS · Default 10000

Interval of logging for local JS executor stats

REMOTE_JS_THREAD_POOL_SIZE · Default 50

Specify thread pool size for javascript executor service

REMOTE_JS_SANDBOX_MAX_ERRORS · Default 3

Maximum allowed JavaScript execution errors before JavaScript will be blacklisted

REMOTE_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC · Default 60

Maximum time in seconds for black listed function to stay in the list.

TB_JS_REMOTE_STATS_ENABLED · Default false

Enable/Disable stats collection for remote JS executor

TB_JS_REMOTE_STATS_PRINT_INTERVAL_MS · Default 10000

Interval of logging for remote JS executor stats

TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT · Default 600000

Session inactivity timeout is a global configuration parameter that defines how long the device transport session will be opened after the last message arrives from the device. The parameter value is in milliseconds. The last activity time of the device session is updated if the device sends any message, including keepalive messages If there is no activity, the session will be closed, and all subscriptions will be deleted. We recommend this parameter to be in sync with device inactivity timeout (“state.defaultInactivityTimeoutInSec” or DEFAULT_INACTIVITY_TIMEOUT) parameter which is responsible for detection of the device connectivity status in the core service of the platform. The value of the session inactivity timeout parameter should be greater or equal to the device inactivity timeout. Note that the session inactivity timeout is set in milliseconds while device inactivity timeout is in seconds.

TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT · Default 3000

Interval of periodic check for expired sessions and report of the changes to session last activity time

TB_TRANSPORT_ACTIVITY_REPORTING_STRATEGY · Default LAST

This property specifies the strategy for reporting activity events within each reporting period. The accepted values are ‘FIRST’, ‘LAST’, ‘FIRST_AND_LAST’ and ‘ALL’.

  • ‘FIRST’: Only the first activity event in each reporting period is reported.
  • ‘LAST’: Only the last activity event in the reporting period is reported.
  • ‘FIRST_AND_LAST’: Both the first and last activity events in the reporting period are reported.
  • ‘ALL’: All activity events in the reporting period are reported.

JSON_TYPE_CAST_ENABLED · Default true

Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON

JSON_MAX_STRING_VALUE_LENGTH · Default 0

Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)

CLIENT_SIDE_RPC_TIMEOUT · Default 60000

Processing timeout interval of the RPC command on the CLIENT SIDE. Time in milliseconds

TB_TRANSPORT_API_ENABLED · Default true

Enable/disable http/mqtt/coap/lwm2m transport protocols (has higher priority than certain protocol’s ‘enabled’ property)

TB_TRANSPORT_LOG_ENABLED · Default true

Enable/Disable log of transport messages to telemetry. For example, logging of LwM2M registration update

TB_TRANSPORT_LOG_MAX_LENGTH · Default 1024

Maximum length of the log message. The content will be truncated to the specified value if needed

TB_TRANSPORT_IP_RATE_LIMITS_ENABLED · Default false

Enable or disable generic rate limits. Device and Tenant-specific rate limits are controlled in Tenant Profile.

TB_TRANSPORT_MAX_WRONG_CREDENTIALS_PER_IP · Default 10

Maximum number of connect attempts with invalid credentials

TB_TRANSPORT_IP_BLOCK_TIMEOUT · Default 60000

Timeout (in milliseconds) to expire block IP addresses

HTTP_ENABLED · Default true

Enable/Disable local HTTP transport protocol

HTTP_REQUEST_TIMEOUT · Default 60000

HTTP request processing timeout in milliseconds

HTTP_MAX_REQUEST_TIMEOUT · Default 300000

HTTP maximum request processing timeout in milliseconds

HTTP_TRANSPORT_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION · Default /api/v1/*/rpc/**=65536;/api/v1/**=52428800

Semi-colon-separated list of urlPattern=maxPayloadSize pairs that define max http request size for specified url pattern. After first match all other will be skipped

MQTT_ENABLED · Default true

Enable/disable mqtt transport protocol.

MQTT_BIND_ADDRESS · Default 0.0.0.0

MQTT bind-address

MQTT_BIND_PORT · Default 1883

MQTT bind port

MQTT_PROXY_PROTOCOL_ENABLED · Default false

Enable proxy protocol support. Disabled by default. If enabled, supports both v1 and v2. Useful to get the real IP address of the client in the logs and for rate limits.

MQTT_TIMEOUT · Default 10000

MQTT processing timeout in milliseconds

MQTT_DISCONNECT_TIMEOUT · Default 1000

MQTT disconnect timeout in milliseconds. The time to wait for the client to disconnect after the server sends a disconnect message.

MQTT_MSG_QUEUE_SIZE_PER_DEVICE_LIMIT · Default 100

messages await in the queue before the device connected state. This limit works on the low level before TenantProfileLimits mechanism

MQTT_GATEWAY_METRICS_REPORT_INTERVAL_SEC · Default 60

Interval of periodic report of the gateway metrics

NETTY_LEAK_DETECTOR_LVL · Default DISABLED

Netty leak detector level

NETTY_BOSS_GROUP_THREADS · Default 1

Netty BOSS threads count

NETTY_WORKER_GROUP_THREADS · Default 12

Netty worker threads count

NETTY_MAX_PAYLOAD_SIZE · Default 65536

Max payload size in bytes

NETTY_SO_KEEPALIVE · Default false

Enables TCP keepalive. This means that TCP starts sending keepalive probes when a connection is idle for some time

MQTT_SSL_ENABLED · Default false

Enable/disable SSL support

MQTT_SSL_BIND_ADDRESS · Default 0.0.0.0

MQTT SSL bind-address

MQTT_SSL_BIND_PORT · Default 8883

MQTT SSL bind port

MQTT_SSL_PROTOCOL · Default TLSv1.2

SSL protocol: See https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#sslcontext-algorithms

MQTT_SSL_CREDENTIALS_TYPE · Default PEM

Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)

MQTT_SSL_PEM_CERT · Default mqttserver.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key)

MQTT_SSL_PEM_KEY · Default mqttserver_key.pem

Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file;

MQTT_SSL_PEM_KEY_PASSWORD · Default server_key_password

Server certificate private key password (optional)

MQTT_SSL_KEY_STORE_TYPE · Default JKS

Type of the key store (JKS or PKCS12)

MQTT_SSL_KEY_STORE · Default mqttserver.jks

Path to the key store that holds the SSL certificate

MQTT_SSL_KEY_STORE_PASSWORD · Default server_ks_password

Password used to access the key store

MQTT_SSL_KEY_ALIAS

Optional alias of the private key. If not set, the platform will load the first private key from the keystore

MQTT_SSL_KEY_PASSWORD · Default server_key_password

Optional password to access the private key. If not set, the platform will attempt to load the private keys that are not protected with the password;

MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT · Default false

Skip certificate validity check for client certificates.

COAP_ENABLED · Default true

Enable/disable CoAP transport protocol.

COAP_TIMEOUT · Default 10000

CoaP processing timeout in milliseconds

COAP_PIGGYBACK_TIMEOUT · Default 500

CoaP piggyback response timeout in milliseconds

COAP_PSM_ACTIVITY_TIMER · Default 10000

Default PSM Activity Timer if not specified in device profile

COAP_PAGING_TRANSMISSION_WINDOW · Default 10000

Default PSM Activity Timer if not specified in device profile

LWM2M_ENABLED · Default true

Enable/disable LwM2M transport protocol.

LWM2M_DTLS_RETRANSMISSION_TIMEOUT_MS · Default 9000

RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000

LWM2M_DTLS_CONNECTION_ID_LENGTH · Default 8

LWM2M DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2 Default: off.
Control usage of DTLS connection ID length (CID).

  • ‘off’ to deactivate it.
  • ‘on’ to activate Connection ID support (same as CID 0 or more 0).
  • A positive value defines generated CID size in bytes.
  • A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic).
  • A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used
  • A value that are > 4: MultiNodeConnectionIdGenerator is used

LWM2M_SERVER_ID · Default 123

LwM2M Server ID

LWM2M_BIND_ADDRESS · Default 0.0.0.0

LwM2M server bind address. Bind to all interfaces by default

LWM2M_BIND_PORT · Default 5685

LwM2M server bind port

LWM2M_SECURITY_BIND_ADDRESS · Default 0.0.0.0

LwM2M server bind address for DTLS. Bind to all interfaces by default

LWM2M_SECURITY_BIND_PORT · Default 5686

LwM2M server bind port for DTLS

LWM2M_SERVER_CREDENTIALS_ENABLED · Default false

Whether to enable LWM2M server X509 Certificate/RPK support

LWM2M_SERVER_CREDENTIALS_TYPE · Default PEM

Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)

LWM2M_SERVER_PEM_CERT · Default lwm2mserver.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key)

LWM2M_SERVER_PEM_KEY · Default lwm2mserver_key.pem

Path to the server certificate private key file. Optional by default. Required if the private key is not present in the server certificate file;

LWM2M_SERVER_PEM_KEY_PASSWORD · Default server_key_password

Server certificate private key password (optional)

LWM2M_SERVER_KEY_STORE_TYPE · Default JKS

Type of the key store (JKS or PKCS12)

LWM2M_SERVER_KEY_STORE · Default lwm2mserver.jks

Path to the key store that holds the SSL certificate

LWM2M_SERVER_KEY_STORE_PASSWORD · Default server_ks_password

Password used to access the key store

LWM2M_SERVER_KEY_ALIAS · Default server

Key alias

LWM2M_SERVER_KEY_PASSWORD · Default server_ks_password

Password used to access the key

TB_LWM2M_SERVER_SECURITY_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT · Default false

Only Certificate_x509:

LWM2M_ENABLED_BS · Default true

Enable/disable Bootstrap Server

LWM2M_SERVER_ID_BS · Default 0

Default value in LwM2M client after start in mode Bootstrap for the object : name “LWM2M Security” field: “Short Server ID” (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID)

LWM2M_BS_BIND_ADDRESS · Default 0.0.0.0

LwM2M bootstrap server bind address. Bind to all interfaces by default

LWM2M_BS_BIND_PORT · Default 5687

LwM2M bootstrap server bind port

LWM2M_BS_SECURITY_BIND_ADDRESS · Default 0.0.0.0

LwM2M bootstrap server bind address for DTLS. Bind to all interfaces by default

LWM2M_BS_SECURITY_BIND_PORT · Default 5688

LwM2M bootstrap server bind address for DTLS. Bind to all interfaces by default

LWM2M_BS_CREDENTIALS_ENABLED · Default false

Whether to enable LWM2M bootstrap server X509 Certificate/RPK support

LWM2M_BS_CREDENTIALS_TYPE · Default PEM

Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)

LWM2M_BS_PEM_CERT · Default lwm2mserver.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key)

LWM2M_BS_PEM_KEY · Default lwm2mserver_key.pem

Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file

LWM2M_BS_PEM_KEY_PASSWORD · Default server_key_password

Server certificate private key password (optional)

LWM2M_BS_KEY_STORE_TYPE · Default JKS

Type of the key store (JKS or PKCS12)

LWM2M_BS_KEY_STORE · Default lwm2mserver.jks

Path to the key store that holds the SSL certificate

LWM2M_BS_KEY_STORE_PASSWORD · Default server_ks_password

Password used to access the key store

LWM2M_BS_KEY_ALIAS · Default bootstrap

Key alias

LWM2M_BS_KEY_PASSWORD · Default server_ks_password

Password used to access the key

LWM2M_TRUST_CREDENTIALS_ENABLED · Default false

Whether to load X509 trust certificates

LWM2M_TRUST_CREDENTIALS_TYPE · Default PEM

Trust certificates store type (PEM - pem certificates file; KEYSTORE - java keystore)

LWM2M_TRUST_PEM_CERT · Default lwm2mtruststorechain.pem

Path to the certificates file (holds trust certificates)

LWM2M_TRUST_KEY_STORE_TYPE · Default JKS

Type of the key store (JKS or PKCS12)

LWM2M_TRUST_KEY_STORE · Default lwm2mtruststorechain.jks

Path to the key store that holds the X509 certificates

LWM2M_TRUST_KEY_STORE_PASSWORD · Default server_ks_password

Password used to access the key store

LWM2M_RECOMMENDED_CIPHERS · Default false

Set usage of recommended cipher suites; true - allow only recommended cipher suites; false - allow not recommended cipher suites

LWM2M_RECOMMENDED_SUPPORTED_GROUPS · Default true

Set usage of recommended supported groups (curves); true - allow only recommended supported groups, false - allow not recommended supported groups

LWM2M_TIMEOUT · Default 120000

Timeout of LwM2M operation

LWM2M_UPLINK_POOL_SIZE · Default 10

Thread pool size for processing of the LwM2M uplinks

LWM2M_DOWNLINK_POOL_SIZE · Default 10

Thread pool size for processing of the LwM2M downlinks

LWM2M_OTA_POOL_SIZE · Default 10

Thread pool size for processing of the OTA updates

LWM2M_CLEAN_PERIOD_IN_SEC · Default 2

Period of cleanup for the registrations in store

LWM2M_LOG_MAX_LENGTH · Default 1024

Maximum log size

LWM2M_PSM_ACTIVITY_TIMER · Default 10000

PSM Activity Timer if not specified in the device profile

LWM2M_PAGING_TRANSMISSION_WINDOW · Default 10000

Paging Transmission Window for eDRX support if not specified in the device profile

SNMP_ENABLED · Default true

Enable/disable SNMP transport protocol

SNMP_BIND_ADDRESS · Default 0.0.0.0

SNMP bind address

SNMP_BIND_PORT · Default 0

SNMP bind port. Zero (random) by default. When using SNMP TRAPs - make sure to specify some static value, e.g. 1620

SNMP_RESPONSE_PROCESSING_PARALLELISM_LEVEL · Default 4

parallelism level for executor (workStealingPool) that is responsible for handling responses from SNMP devices

SNMP_UNDERLYING_PROTOCOL · Default udp

to configure SNMP to work over UDP or TCP

SNMP_MAX_REQUEST_OIDS · Default 100

Maximum size of a PDU (amount of OID mappings in a single SNMP request). The request will be split into multiple PDUs if mappings amount exceeds this number

SNMP_REQUEST_CHUNK_DELAY_MS · Default 100

Delay after sending each request chunk (in case the request was split into multiple PDUs due to max_request_oids)

SNMP_RESPONSE_IGNORE_TYPE_CAST_ERRORS · Default false

To ignore SNMP response values that do not match the data type of the configured OID mapping (by default false - will throw an error if any value of the response not match configured data types)

SNMP_SCHEDULER_THREAD_POOL_SIZE · Default 4

Thread pool size for scheduler that executes device querying tasks

SNMP_BOOTSTRAP_RETRIES · Default 8

Maximum number of retry attempts for a single SNMP devices batch during bootstrap.

TB_TRANSPORT_STATS_ENABLED · Default true

Enable/Disable the collection of transport statistics

TB_TRANSPORT_STATS_PRINT_INTERVAL_MS · Default 60000

Interval of transport statistics logging

TB_GATEWAY_DASHBOARD_SYNC_ENABLED · Default true

Enable/disable gateways dashboard sync with git repository

TB_GATEWAY_DASHBOARD_SYNC_REPOSITORY_URL · Default https://github.com/thingsboard/gateway-management-extensions-dist.git

URL of gateways dashboard repository

TB_GATEWAY_DASHBOARD_SYNC_BRANCH · Default release/4.3.0

Branch of gateways dashboard repository to work with

TB_GATEWAY_DASHBOARD_SYNC_FETCH_FREQUENCY · Default 24

Fetch frequency in hours for gateways dashboard repository

COAP_SERVER_ENABLED · Default true

Enable/disable coap server.

COAP_BIND_ADDRESS · Default 0.0.0.0

CoAP bind address

COAP_BIND_PORT · Default 5683

CoAP bind port

COAP_DTLS_ENABLED · Default false

Enable/disable DTLS 1.2 support

COAP_DTLS_RETRANSMISSION_TIMEOUT_MS · Default 9000

RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000

COAP_DTLS_BIND_ADDRESS · Default 0.0.0.0

CoAP DTLS bind address

COAP_DTLS_BIND_PORT · Default 5684

CoAP DTLS bind port

COAP_DTLS_CONNECTION_ID_LENGTH · Default 8

CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2 Default: off.
Control usage of DTLS connection ID length (CID).

  • ‘off’ to deactivate it.
  • ‘on’ to activate Connection ID support (same as CID 0 or more 0).
  • A positive value defines generated CID size in bytes.
  • A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic).
  • A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used
  • A value that are > 4: MultiNodeConnectionIdGenerator is used

COAP_DTLS_MAX_TRANSMISSION_UNIT · Default 1024

Specify the MTU (Maximum Transmission Unit). Should be used if LAN MTU is not used, e.g. if IP tunnels are used or if the client uses a smaller value than the LAN MTU. Default = 1024 Minimum value = 64 If set to 0 - LAN MTU is used.

COAP_DTLS_MAX_FRAGMENT_LENGTH · Default 1024

DTLS maximum fragment length (RFC 6066, Section 4). Default = 1024 Possible values: 512, 1024, 2048, 4096. If set to 0, the default maximum fragment size of 2^14 bytes (16,384 bytes) is used. Without this extension, TLS specifies a fixed maximum plaintext fragment length of 2^14 bytes. It may be desirable for constrained clients to negotiate a smaller maximum fragment length due to memory limitations or bandwidth limitations. In order to negotiate smaller maximum fragment lengths, clients MAY include an extension of type “max_fragment_length” in the (extended) client hello. The “extension_data” field of this extension SHALL contain: <pre> enum { 2^9(1) == 512, 2^10(2) == 1024, 2^11(3) == 2048, 2^12(4) == 4096, (255) } MaxFragmentLength; </pre> TLS already requires clients and servers to support fragmentation of handshake messages.

COAP_DTLS_CREDENTIALS_TYPE · Default PEM

Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)

COAP_DTLS_PEM_CERT · Default coapserver.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key)

COAP_DTLS_PEM_KEY · Default coapserver_key.pem

Path to the server certificate private key file. Optional by default. Required if the private key is not present in the server certificate file;

COAP_DTLS_PEM_KEY_PASSWORD · Default server_key_password

Server certificate private key password (optional)

COAP_DTLS_KEY_STORE_TYPE · Default JKS

Type of the key store (JKS or PKCS12)

COAP_DTLS_KEY_STORE · Default coapserver.jks

Path to the key store that holds the SSL certificate

COAP_DTLS_KEY_STORE_PASSWORD · Default server_ks_password

Password used to access the key store

COAP_DTLS_KEY_ALIAS · Default serveralias

Key alias

COAP_DTLS_KEY_PASSWORD · Default server_key_password

Password used to access the key

TB_COAP_X509_DTLS_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT · Default false

Skip certificate validity check for client certificates.

TB_COAP_X509_DTLS_SESSION_INACTIVITY_TIMEOUT · Default 86400000

Inactivity timeout of DTLS session. Used to cleanup cache

TB_COAP_X509_DTLS_SESSION_REPORT_TIMEOUT · Default 1800000

Interval of periodic eviction of the timed-out DTLS sessions

DEVICE_CONNECTIVITY_HTTP_ENABLED · Default true

If true check-connectivity service will include curl command to the list of all test commands using DEVICE_CONNECTIVITY_HTTP_HOST and DEVICE_CONNECTIVITY_HTTP_PORT variables

DEVICE_CONNECTIVITY_HTTP_HOST

Host of http transport service. If empty, the base URL will be used.

DEVICE_CONNECTIVITY_HTTP_PORT · Default 8080

Port of http transport service. If empty, default http port will be used.

DEVICE_CONNECTIVITY_HTTPS_ENABLED · Default false

If true check-connectivity service will include curl command to the list of all test commands using DEVICE_CONNECTIVITY_HTTPS_HOST and DEVICE_CONNECTIVITY_HTTPS_PORT variables

DEVICE_CONNECTIVITY_HTTPS_HOST

Host of http transport service. If empty, the base URL will be used.

DEVICE_CONNECTIVITY_HTTPS_PORT · Default 443

Port of http transport service. If empty, the default https port will be used.

DEVICE_CONNECTIVITY_MQTT_ENABLED · Default true

If true mosquito command will be included to the list of all test commands using DEVICE_CONNECTIVITY_MQTT_HOST and DEVICE_CONNECTIVITY_MQTT_PORT

DEVICE_CONNECTIVITY_MQTT_HOST

Host of mqtt transport service. If empty, the base url host will be used.

DEVICE_CONNECTIVITY_MQTT_PORT · Default 1883

Port of mqtt transport service

DEVICE_CONNECTIVITY_MQTTS_ENABLED · Default false

If true mosquito command will be included in the list of all test commands using DEVICE_CONNECTIVITY_MQTTS_HOST and DEVICE_CONNECTIVITY_MQTTS_PORT<

DEVICE_CONNECTIVITY_MQTTS_HOST

Host of mqtt transport service. If empty, the base URL host will be used.

DEVICE_CONNECTIVITY_MQTTS_PORT · Default 8883

Port of mqtt transport service. If empty, the default port for mqtts will be used.

DEVICE_CONNECTIVITY_MQTTS_CA_ROOT_CERT · Default cafile.pem

Path to the MQTT CA root certificate file

DEVICE_CONNECTIVITY_COAP_ENABLED · Default true

If true coap command will be included in the list of all test commands using DEVICE_CONNECTIVITY_COAP_HOST and DEVICE_CONNECTIVITY_COAP_PORT.

DEVICE_CONNECTIVITY_COAP_HOST

Host of coap transport service. If empty, the base URL host will be used.

DEVICE_CONNECTIVITY_COAP_PORT · Default 5683

Port of coap transport service. If empty, the default port for coap will be used.

DEVICE_CONNECTIVITY_COAPS_ENABLED · Default false

If true coap command will be included in the list of all test commands using DEVICE_CONNECTIVITY_COAPS_HOST and DEVICE_CONNECTIVITY_COAPS_PORT.

DEVICE_CONNECTIVITY_COAPS_HOST

Host of coap transport service. If empty, the base URL host will be used.

DEVICE_CONNECTIVITY_COAPS_PORT · Default 5684

Port of coap transport service. If empty, the default port for coaps will be used.

DEVICE_CONNECTIVITY_COAPS_CA_ROOT_CERT · Default cafile.pem

Path to the COAP CA root certificate file

DEVICE_CONNECTIVITY_GATEWAY_IMAGE_VERSION · Default 3.8-stable

The docker tag for thingsboard/tb-gateway image used in docker-compose file for gateway launch

EDGES_ENABLED · Default true

Enable/disable Edge instance

EDGES_RPC_PORT · Default 7070

RPC port bind

EDGES_RPC_CLIENT_MAX_KEEP_ALIVE_TIME_SEC · Default 1

Specifies the minimum amount of time that should elapse between keepalive pings sent by the client This prevents clients from sending pings too frequently, which can be a nuisance to the server (potentially even a denial-of-service attack vector if abused) If a client sends pings more frequently than this interval, the server may terminate the connection.

EDGES_RPC_KEEP_ALIVE_TIME_SEC · Default 10

Sets the time of inactivity (no read operations on the connection) after which the server will send a keepalive ping to the client. This is used to ensure that the connection is still alive and to prevent network intermediaries from dropping connections due to inactivity. It’s a way for the server to proactively check if the client is still responsive.

EDGES_RPC_KEEP_ALIVE_TIMEOUT_SEC · Default 5

Specifies the maximum amount of time the server waits for a response to its keepalive ping. If the ping is not acknowledged within this time frame, the server considers the connection dead and may close it. This timeout helps detect unresponsive clients.

EDGES_RPC_SSL_ENABLED · Default false

Enable/disable SSL support

EDGES_RPC_SSL_CERT · Default certChainFile.pem

Path to the server certificate file (holds server certificate or certificate chain, may include server private key). Accepts an absolute filesystem path (e.g. /etc/thingsboard/certChainFile.pem), a relative path resolved against the working directory first then the classpath, or a classpath resource with the explicit “classpath:” prefix (e.g. classpath:conf/certChainFile.pem).

EDGES_RPC_SSL_PRIVATE_KEY · Default privateKeyFile.pem

Path to the server certificate private key file. Optional if the private key is already present in the cert file above. Supports the same path resolution as ‘cert’: absolute, relative/classpath, or “classpath:” prefix. Leave empty when using a combined PEM cert that already contains the private key.

EDGES_RPC_SSL_KEY_PASSWORD

Server certificate private key password (optional). Leave empty if the key is not encrypted.

EDGES_RPC_MAX_INBOUND_MESSAGE_SIZE · Default 4194304

Maximum size (in bytes) of inbound messages the cloud can handle from the edge. By default, it can handle messages up to 4 Megabytes

EDGES_RPC_MAX_TELEMETRY_MESSAGE_SIZE · Default 0

Maximum length of telemetry (time-series and attributes) message the cloud sends to the edge. By default, there is no limitation.

EDGES_STORAGE_MAX_READ_RECORDS_COUNT · Default 50

Max records of edge event to read from DB and sent to the edge

EDGES_NO_READ_RECORDS_SLEEP · Default 1000

Number of milliseconds to wait before the next check of edge events in DB

EDGES_SLEEP_BETWEEN_BATCHES · Default 60000

Number of milliseconds to wait before resending failed batch of edge events to edge

EDGES_MISORDERING_COMPENSATION_MILLIS · Default 60000

Time (in milliseconds) to subtract from the start timestamp when fetching edge events. This compensates for possible misordering between created&#95;time (used for partitioning) and seqId (used for sorting). Without this, events with smaller seqId but larger created_time might be skipped, especially across partition boundaries.

EDGES_MAX_HIGH_PRIORITY_QUEUE_SIZE_PER_SESSION · Default 10000

Max number of high priority edge events per edge session. No persistence - stored in memory

EDGES_SCHEDULER_POOL_SIZE · Default 4

Number of threads that are used to check DB for edge events

EDGES_SEND_SCHEDULER_POOL_SIZE · Default 4

Number of threads that are used to send downlink messages to edge over gRPC

EDGES_GRPC_CALLBACK_POOL_SIZE · Default 4

Number of threads that are used to convert edge events from DB into downlink messages and send them for delivery

EDGES_PERSIST_STATE_TO_TELEMETRY · Default false

Persist state of edge (active, last connect, last disconnect) into timeseries or attributes tables. ‘false’ means to store edge state into attributes table

EDGES_STATS_ENABLED · Default true

Enable or disable reporting of edge communication stats (true or false)

EDGES_STATS_TTL · Default 30

Time-to-live in days for stored edge communication stats in timeseries

EDGES_STATS_REPORT_INTERVAL_MS · Default 600000

How often to report edge communication stats in milliseconds

SWAGGER_ENABLED · Default true

If false swagger API docs will be unavailable

SWAGGER_DEFAULT_PRODUCES_MEDIA_TYPE · Default application/json

Swagger default produces media-type

SWAGGER_API_PATH · Default /api/**

General swagger match pattern of swagger UI links

SWAGGER_SECURITY_PATH_REGEX · Default /api/.*

General swagger match pattern path of swagger UI links

SWAGGER_NON_SECURITY_PATH_REGEX · Default /api/(?:noauth|v1)/.*

Nonsecurity API path match pattern of swagger UI links

SWAGGER_TITLE · Default ThingsBoard REST API

The title on the API doc UI page

SWAGGER_DESCRIPTION · Default ThingsBoard open-source IoT platform REST API documentation.

The description on the API doc UI page

SWAGGER_CONTACT_NAME · Default ThingsBoard team

The contact name on the API doc UI page

SWAGGER_CONTACT_URL · Default https://thingsboard.io

The contact URL on the API doc UI page

SWAGGER_CONTACT_EMAIL · Default [email protected]

The contact email on the API doc UI page

SWAGGER_LICENSE_TITLE · Default Apache License Version 2.0

The license title on the API doc UI page

SWAGGER_LICENSE_URL · Default https://github.com/thingsboard/thingsboard/blob/master/LICENSE

Link to the license body on the API doc UI page

SWAGGER_VERSION

The version of the API doc to display. Default to the package version.

SWAGGER_GROUP_NAME · Default thingsboard

The group name (definition) on the API doc UI page.

SWAGGER_DOC_EXPANSION · Default list

Control the initial display state of API operations and tags (none or list)

TB_QUEUE_TYPE · Default in-memory

in-memory or kafka (Apache Kafka)

TB_QUEUE_PREFIX

Global queue prefix. If specified, prefix is added before default topic name: ‘prefix.default_topic_name’. Prefix is applied to all topics (and consumer groups for kafka).

TB_QUEUE_IN_MEMORY_STATS_PRINT_INTERVAL_MS · Default 60000

For debug level

TB_KAFKA_SERVERS · Default localhost:9092

Kafka Bootstrap nodes in “host:port” format

TB_KAFKA_SSL_ENABLED · Default false

Enable/Disable SSL Kafka communication

TB_KAFKA_SSL_TRUSTSTORE_LOCATION

The location of the trust store file

TB_KAFKA_SSL_TRUSTSTORE_PASSWORD

The password of trust store file if specified

TB_KAFKA_SSL_KEYSTORE_LOCATION

The location of the key store file. This is optional for the client and can be used for two-way authentication for the client

TB_KAFKA_SSL_KEYSTORE_PASSWORD

The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format

TB_KAFKA_SSL_KEY_PASSWORD

The password of the private key in the key store file or the PEM key specified in ‘keystore.key’

TB_KAFKA_ACKS · Default all

The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:0, 1 and all

TB_KAFKA_RETRIES · Default 1

Number of retries. Resend any record whose send fails with a potentially transient error

TB_KAFKA_COMPRESSION_TYPE · Default none

none or gzip

TB_KAFKA_BATCH_SIZE · Default 16384

Default batch size. This setting gives the upper bound of the batch size to be sent

TB_KAFKA_LINGER_MS · Default 1

This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record

TB_KAFKA_MAX_REQUEST_SIZE · Default 1048576

The maximum size of a request in bytes. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests

TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION · Default 5

The maximum number of unacknowledged requests the client will send on a single connection before blocking

TB_BUFFER_MEMORY · Default 33554432

The total bytes of memory the producer can use to buffer records waiting to be sent to the server

TB_QUEUE_KAFKA_REPLICATION_FACTOR · Default 1

The multiple copies of data over the multiple brokers of Kafka

TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS · Default 300000

The maximum delay between invocations of poll() method when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records

TB_QUEUE_KAFKA_MAX_POLL_RECORDS · Default 8192

The maximum number of records returned in a single call of poll() method

TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES · Default 16777216

The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer

TB_QUEUE_KAFKA_FETCH_MAX_BYTES · Default 134217728

The maximum amount of data the server will return. Records are fetched in batches by the consumer

TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS · Default 30000

(30 seconds)

TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS · Default 10000

(10 seconds)

TB_QUEUE_KAFKA_AUTO_OFFSET_RESET · Default earliest

earliest, latest or none

TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD · Default false

Enable/Disable using of Confluent Cloud

TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM · Default https

The endpoint identification algorithm used by clients to validate server hostname. The default value is https

TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM · Default PLAIN

The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as a transport layer to ensure that clear passwords are not transmitted on the wire without encryption

TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG · Default org.apache.kafka.common.security.plain.PlainLoginModule required username=“CLUSTER_API_KEY” password=“CLUSTER_API_SECRET”;

Using JAAS Configuration for specifying multiple SASL mechanisms on a broker

TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL · Default SASL_SSL

Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL

TB_QUEUE_KAFKA_OTA_MAX_POLL_RECORDS · Default 10

Example of specific consumer properties value per topic

TB_QUEUE_KAFKA_VC_MAX_POLL_INTERVAL_MS · Default 600000

Example of specific consumer properties value per topic for VC

TB_QUEUE_KAFKA_EDGE_EVENTS_MAX_POLL_RECORDS · Default 10

Define the maximum number of records that can be polled from tb_edge topics per request.

TB_QUEUE_KAFKA_EDGE_HP_EVENTS_MAX_POLL_RECORDS · Default 10

Define the maximum number of records that can be polled from tb_edge.notifications.SERVICE_ID topics.

TB_QUEUE_KAFKA_EDGE_NOTIFICATIONS_MAX_POLL_RECORDS · Default 10

Define the maximum number of records that can be polled from tb_edge_event.notifications.TENANT_ID.EDGE_ID topics.

TB_QUEUE_KAFKA_HOUSEKEEPER_MAX_POLL_RECORDS · Default 1

Amount of records to be returned in a single poll. For Housekeeper tasks topic, we should consume messages (tasks) one by one

TB_QUEUE_KAFKA_HOUSEKEEPER_REPROCESSING_MAX_POLL_RECORDS · Default 1

Amount of records to be returned in a single poll. For Housekeeper reprocessing topic, we should consume messages (tasks) one by one

TB_QUEUE_KAFKA_EDQS_EVENTS_MAX_POLL_RECORDS · Default 512

Max poll records for edqs.events topic

TB_QUEUE_KAFKA_EDQS_STATE_MAX_POLL_RECORDS · Default 512

Max poll records for edqs.state topic

TB_QUEUE_KAFKA_TASKS_MAX_POLL_RECORDS · Default 1

Max poll records for tasks topics

TB_QUEUE_KAFKA_CONSUMER_PROPERTIES_PER_TOPIC_INLINE

If you override any default Kafka topic name using environment variables, you must also specify the related consumer properties for the new topic in consumer-properties-per-topic-inline. Otherwise, the topic will not inherit its expected configuration (e.g., max.poll.records, timeouts, etc). Each entry sets a single property for a specific topic. To define multiple properties for a topic, repeat the topic key. Format: “topic1:key=value;topic1:key=value;topic2:key=value” Example: tb_core_updated:max.poll.records=10;tb_core_updated:bootstrap.servers=kafka1:9092,kafka2:9092;tb_edge_updated:auto.offset.reset=latest

TB_QUEUE_KAFKA_OTHER_PROPERTIES

In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin

TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Rule Engine

TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Core topics

TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1

Kafka properties for Transport Api topics

TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Notifications topics

TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES · Default retention.ms:86400000;segment.bytes:52428800;retention.bytes:104857600;partitions:30;min.insync.replicas:1

Kafka properties for JS Executor topics

TB_QUEUE_KAFKA_OTA_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1

Kafka properties for OTA updates topic

TB_QUEUE_KAFKA_VC_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Version Control topic

TB_QUEUE_KAFKA_HOUSEKEEPER_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1

Kafka properties for Housekeeper tasks topic

TB_QUEUE_KAFKA_HOUSEKEEPER_REPROCESSING_TOPIC_PROPERTIES · Default retention.ms:7776000000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Housekeeper reprocessing topic; retention.ms is set to 90 days; partitions is set to 1 since only one reprocessing service is running at a time

TB_QUEUE_KAFKA_EDGE_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Edge topic

TB_QUEUE_KAFKA_EDGE_EVENT_TOPIC_PROPERTIES · Default retention.ms:2592000000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Edge event topic

TB_QUEUE_KAFKA_CF_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for Calculated Field topics

TB_QUEUE_KAFKA_CF_STATE_TOPIC_PROPERTIES · Default retention.ms:-1;segment.bytes:52428800;retention.bytes:104857600000;partitions:1;min.insync.replicas:1;cleanup.policy:compact

Kafka properties for Calculated Field State topics

TB_QUEUE_KAFKA_EDQS_EVENTS_TOPIC_PROPERTIES · Default retention.ms:86400000;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1

Kafka properties for EDQS events topics

TB_QUEUE_KAFKA_EDQS_REQUESTS_TOPIC_PROPERTIES · Default retention.ms:180000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1

Kafka properties for EDQS requests topic (default: 3 minutes retention)

TB_QUEUE_KAFKA_EDQS_STATE_TOPIC_PROPERTIES · Default retention.ms:-1;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1;cleanup.policy:compact

Kafka properties for EDQS state topic (infinite retention, compaction)

TB_QUEUE_KAFKA_TASKS_TOPIC_PROPERTIES · Default retention.ms:604800000;segment.bytes:52428800;retention.bytes:104857600;partitions:1;min.insync.replicas:1

Kafka properties for tasks topics

TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED · Default true

Prints lag between consumer group offset and last messages offset in Kafka topics

TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Kafka’s consumer-groups stats

TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS · Default 1000

Time to wait for the stats-loading requests to Kafka to finish

TB_QUEUE_KAFKA_TOPICS_CACHE_TTL_MS · Default 300000

Topics cache TTL in milliseconds. 5 minutes by default

TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME · Default murmur3_128

murmur3_32, murmur3_128 or sha256

TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC · Default tb_transport.api.requests

Topic used to consume api requests from transport microservices

TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC · Default tb_transport.api.responses

Topic used to produce api responses to transport microservices

TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS · Default 10000

Maximum pending api requests from transport microservices to be handled by server

TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT · Default 10000

Maximum timeout in milliseconds to handle api request from transport microservice by server

TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS · Default 100

Amount of threads used to invoke callbacks

TB_QUEUE_TRANSPORT_MAX_CORE_HANDLER_THREADS · Default 16

Amount of threads used for transport API requests

TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS · Default 25

Interval in milliseconds to poll api requests from transport microservices

TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS · Default 25

Interval in milliseconds to poll api response from transport microservices

TB_QUEUE_CORE_TOPIC · Default tb_core

Default topic name

TB_QUEUE_CORE_NOTIFICATIONS_TOPIC · Default tb_core.notifications

For high-priority notifications that require minimum latency and processing time

TB_QUEUE_CORE_POLL_INTERVAL_MS · Default 25

Interval in milliseconds to poll messages by Core microservices

TB_QUEUE_CORE_PARTITIONS · Default 10

Amount of partitions used by Core microservices

TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS · Default 2000

Timeout for processing a message pack by Core microservices

TB_QUEUE_CORE_CONSUMER_PER_PARTITION · Default true

Enable/disable a separate consumer per partition for Core queue

TB_QUEUE_CORE_OTA_TOPIC · Default tb_ota_package

Default topic name for OTA updates

TB_QUEUE_CORE_OTA_PACK_INTERVAL_MS · Default 60000

The interval of processing the OTA updates for devices. Used to avoid any harm to the network due to many parallel OTA updates

TB_QUEUE_CORE_OTA_PACK_SIZE · Default 100

The size of OTA updates notifications fetched from the queue. The queue stores pairs of firmware and device ids

TB_QUEUE_US_TOPIC · Default tb_usage_stats

Stats topic name

TB_QUEUE_CORE_STATS_ENABLED · Default true

Enable/disable statistics for Core microservices

TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Core microservices

TB_HOUSEKEEPER_TOPIC · Default tb_housekeeper

Topic name for Housekeeper tasks

TB_HOUSEKEEPER_REPROCESSING_TOPIC · Default tb_housekeeper.reprocessing

Topic name for Housekeeper tasks to be reprocessed

TB_HOUSEKEEPER_POLL_INTERVAL_MS · Default 500

Poll interval for topics related to Housekeeper

TB_HOUSEKEEPER_TASK_PROCESSING_TIMEOUT_MS · Default 120000

Timeout in milliseconds for task processing. Tasks that fail to finish on time will be submitted for reprocessing

TB_HOUSEKEEPER_DISABLED_TASK_TYPES

Comma-separated list of task types that shouldn’t be processed. Available task types: DELETE_ATTRIBUTES, DELETE_TELEMETRY (both DELETE_LATEST_TS and DELETE_TS_HISTORY will be disabled), DELETE_LATEST_TS, DELETE_TS_HISTORY, DELETE_EVENTS, DELETE_ALARMS, UNASSIGN_ALARMS

TB_HOUSEKEEPER_TASK_REPROCESSING_DELAY_MS · Default 3000

Delay in milliseconds between tasks reprocessing

TB_HOUSEKEEPER_MAX_REPROCESSING_ATTEMPTS · Default 10

Maximum amount of task reprocessing attempts. After exceeding, the task will be dropped

TB_HOUSEKEEPER_STATS_ENABLED · Default true

Enable/disable statistics for Housekeeper

TB_HOUSEKEEPER_STATS_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Housekeeper

TB_EDQS_SYNC_ENABLED · Default false

Enable/disable EDQS synchronization

TB_EDQS_SYNC_ENTITY_BATCH_SIZE · Default 10000

Batch size of entities being synced with EDQS

TB_EDQS_SYNC_TS_BATCH_SIZE · Default 10000

Batch size of timeseries data being synced with EDQS

TB_EDQS_API_SUPPORTED · Default false

Whether to forward entity data query requests to EDQS (otherwise use PostgreSQL implementation)

TB_EDQS_API_AUTO_ENABLE · Default true

Whether to auto-enable EDQS API (if queue.edqs.api.supported is true) when sync of data to Kafka is finished

TB_EDQS_READINESS_CHECK_INTERVAL_MS · Default 60000

Interval in milliseconds to check for ready EDQS servers

TB_EDQS_MODE · Default local

Mode of EDQS: local (for monolith) or remote (with separate EDQS microservices)

TB_EDQS_ROCKSDB_PATH · Default ${user.home}/.rocksdb/edqs

Path to RocksDB for EDQS backup when running in local mode

TB_EDQS_PARTITIONS · Default 12

Number of partitions for EDQS topics

TB_EDQS_PARTITIONING_STRATEGY · Default tenant

EDQS partitioning strategy: tenant (partition is resolved by tenant id) or none (no specific strategy, resolving by message key)

TB_EDQS_EVENTS_TOPIC · Default edqs.events

EDQS events topic

TB_EDQS_STATE_TOPIC · Default edqs.state

EDQS state topic

TB_EDQS_REQUESTS_TOPIC · Default edqs.requests

EDQS requests topic

TB_EDQS_RESPONSES_TOPIC · Default edqs.responses

EDQS responses topic

TB_EDQS_POLL_INTERVAL_MS · Default 25

Poll interval for EDQS topics

TB_EDQS_MAX_PENDING_REQUESTS · Default 10000

Maximum amount of pending requests to EDQS

TB_EDQS_MAX_REQUEST_TIMEOUT · Default 20000

Maximum timeout for requests to EDQS

TB_EDQS_REQUEST_EXECUTOR_SIZE · Default 50

Thread pool size for EDQS requests executor

TB_EDQS_VERSIONS_CACHE_TTL_MINUTES · Default 60

Time to live for EDQS versions cache in minutes. Must be bigger than the time taken for the sync process.

TB_EDQS_STRING_COMPRESSION_LENGTH_THRESHOLD · Default 512

Strings longer than this threshold will be compressed

TB_EDQS_STATS_ENABLED · Default true

Enable/disable statistics for EDQS

TB_EDQS_SLOW_QUERY_THRESHOLD_MS · Default 3000

Threshold for slow queries to log, in milliseconds

TB_QUEUE_VC_TOPIC · Default tb_version_control

Default topic name

TB_QUEUE_VC_PARTITIONS · Default 10

Number of partitions to associate with this queue. Used for scaling the number of messages that can be processed in parallel

TB_QUEUE_VC_INTERVAL_MS · Default 25

Interval in milliseconds between polling of the messages if no new messages arrive

TB_QUEUE_VC_PACK_PROCESSING_TIMEOUT_MS · Default 180000

Timeout before retrying all failed and timed-out messages from the processing pack

TB_QUEUE_VC_REQUEST_TIMEOUT · Default 180000

Timeout for a request to VC-executor (for a request for the version of the entity, for a commit charge, etc.)

TB_QUEUE_VC_MSG_CHUNK_SIZE · Default 250000

Limit for single queue message size

REMOTE_JS_EVAL_REQUEST_TOPIC · Default js_eval.requests

JS Eval request topic

REMOTE_JS_EVAL_RESPONSE_TOPIC · Default js_eval.responses

JS Eval responses topic prefix that is combined with node id

REMOTE_JS_MAX_PENDING_REQUESTS · Default 10000

JS Eval max pending requests

REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT · Default 60000

JS Eval max request timeout

REMOTE_JS_MAX_REQUEST_TIMEOUT · Default 10000

JS max request timeout

REMOTE_JS_MAX_EXEC_REQUEST_TIMEOUT · Default 2000

JS execution max request timeout

REMOTE_JS_RESPONSE_POLL_INTERVAL_MS · Default 25

JS response poll interval

TB_QUEUE_RULE_ENGINE_TOPIC · Default tb_rule_engine

Deprecated. It will be removed in the nearest releases

TB_QUEUE_RULE_ENGINE_NOTIFICATIONS_TOPIC · Default tb_rule_engine.notifications

For high-priority notifications that require minimum latency and processing time

TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS · Default 25

Interval in milliseconds to poll messages by Rule Engine

TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS · Default 2000

Timeout for processing a message pack of Rule Engine

TB_QUEUE_RULE_ENGINE_STATS_ENABLED · Default true

Enable/disable statistics for Rule Engine

TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Rule Engine

TB_QUEUE_RULE_ENGINE_MAX_ERROR_MESSAGE_LENGTH · Default 4096

Max length of the error message that is printed by statistics

TB_QUEUE_RULE_ENGINE_PROMETHEUS_STATS_ENABLED · Default false

Enable/disable Prometheus statistics for individual Rule Engine message processing (records time in ms for success/failure).

TB_QUEUE_RULE_ENGINE_TOPIC_DELETION_DELAY_SEC · Default 15

After a queue is deleted (or the profile’s isolation option was disabled), Rule Engine will continue reading related topics during this period before deleting the actual topics

TB_QUEUE_RULE_ENGINE_MGMT_THREAD_POOL_SIZE · Default 12

Size of the thread pool that handles such operations as partition changes, config updates, queue deletion

TB_QUEUE_CF_EVENT_TOPIC · Default tb_cf_event

Topic name for Calculated Field (CF) events from Rule Engine

TB_QUEUE_CF_STATE_TOPIC · Default tb_cf_state

Topic name for Calculated Field (CF) compacted states

TB_QUEUE_CF_NOTIFICATIONS_TOPIC · Default calculated_field.notifications

For high-priority notifications that require minimum latency and processing time

TB_QUEUE_CF_POLL_INTERVAL_MS · Default 1000

Interval in milliseconds to poll messages by CF (Rule Engine) microservices

TB_QUEUE_CF_PACK_PROCESSING_TIMEOUT_MS · Default 60000

Timeout for processing a message pack by CF microservices

TB_QUEUE_CF_POOL_SIZE · Default 8

Thread pool size for processing of the incoming messages

TB_QUEUE_CF_ROCKS_DB_PATH · Default ${user.home}/.rocksdb/cf_states

RocksDB path for storing CF states

TB_QUEUE_CF_FETCH_PACK_SIZE · Default 50000

The fetch size specifies how many rows will be fetched from the database per request for initial fetching

TB_QUEUE_CF_TENANT_FETCH_PACK_SIZE · Default 1000

The fetch size specifies how many rows will be fetched from the database per request for per-tenant fetching

TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC · Default tb_transport.notifications

For high-priority notifications that require minimum latency and processing time

TB_QUEUE_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS · Default 25

Interval in milliseconds to poll messages

TB_QUEUE_EDGE_TOPIC · Default tb_edge

Topic name to notify edge service on entity updates, assignment, etc.

TB_QUEUE_EDGE_NOTIFICATIONS_TOPIC · Default tb_edge.notifications

Topic prefix for high-priority edge notifications (rpc, lifecycle, new messages in queue) that require minimum latency and processing time. Each tb-core has its own topic: PREFIX.SERVICE_ID

TB_QUEUE_EDGE_EVENT_NOTIFICATIONS_TOPIC · Default tb_edge_event.notifications

Topic prefix for downlinks to be pushed to specific edge. Every edge has its own unique topic: PREFIX.TENANT_ID.EDGE_ID

TB_QUEUE_EDGE_PARTITIONS · Default 10

Amount of partitions used by Edge services

TB_QUEUE_EDGE_POLL_INTERVAL_MS · Default 25

Poll interval for topics related to Edge services

TB_QUEUE_EDGE_PACK_PROCESSING_TIMEOUT_MS · Default 10000

Timeout for processing a message pack by Edge services

TB_QUEUE_EDGE_MESSAGE_PROCESSING_RETRIES · Default 3

Retries for processing a failure message pack by Edge services

TB_QUEUE_EDGE_CONSUMER_PER_PARTITION · Default false

Enable/disable a separate consumer per partition for Edge queue

TB_QUEUE_EDGE_STATS_ENABLED · Default true

Enable/disable statistics for Edge services

TB_QUEUE_EDGE_STATS_PRINT_INTERVAL_MS · Default 60000

Statistics printing interval for Edge services

TB_QUEUE_TASKS_POLL_INTERVAL_MS · Default 500

Poll interval in milliseconds for tasks topics

TB_QUEUE_TASKS_PARTITIONS · Default 12

Partitions count for tasks queues

TB_QUEUE_TASKS_PARTITIONS_PER_TYPE

Custom partitions count for tasks queues per type. Format: ‘TYPE1:24;TYPE2:36’, e.g. ‘CF_REPROCESSING:24;TENANT_EXPORT:6’

TB_QUEUE_TASKS_PARTITIONING_STRATEGY · Default tenant

Tasks partitioning strategy: ‘tenant’ or ‘entity’. By default, using ‘tenant’ - tasks of a specific tenant are processed in the same partition. In a single-tenant environment, use ‘entity’ strategy to distribute the tasks among multiple partitions.

TB_QUEUE_TASKS_STATS_TOPIC · Default jobs.stats

Name for the tasks stats topic

TB_QUEUE_TASKS_STATS_POLL_INTERVAL_MS · Default 500

Poll interval in milliseconds for tasks stats topic

TB_QUEUE_TASKS_STATS_PROCESSING_INTERVAL_MS · Default 1000

Interval in milliseconds to process job stats

TB_MAX_DEBUG_EVENT_SYMBOLS · Default 4096

Maximum number of symbols per debug event. The event content will be truncated if needed

TB_SERVICE_TYPE · Default monolith

monolith or tb-core or tb-rule-engine

TB_SERVICE_ID

Unique id for this service (autogenerated if empty)

TB_RULE_ENGINE_ASSIGNED_TENANT_PROFILES

Comma-separated list of tenant profile ids assigned to this Rule Engine. This Rule Engine will only be responsible for tenants with these profiles (in case ‘isolation’ option is enabled in the profile).

TB_RULE_ENGINE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE · Default 0

Thread pool size for pubsub rule node executor provider. If not set - default pubsub executor provider value will be used (5 * number of available processors)

METRICS_ENABLED · Default false

Enable/disable actuator metrics.

METRICS_TIMER_PERCENTILES · Default 0.5

Metrics percentiles returned by actuator for timer metrics. List of double values (divided by ,).

METRICS_SYSTEM_INFO_PERSIST_FREQUENCY_SECONDS · Default 60

Persist frequency of system info (CPU, memory usage, etc.) in seconds

METRICS_SYSTEM_INFO_TTL_DAYS · Default 7

TTL in days for system info timeseries

TB_VC_POOL_SIZE · Default 6

Pool size for handling export tasks

TB_VC_GIT_POOL_SIZE · Default 3

Pool size for handling the git IO operations

TB_VC_GIT_REPOSITORIES_FOLDER · Default ${java.io.tmpdir}/repositories

Default storing repository path

TB_NOTIFICATION_SYSTEM_THREAD_POOL_SIZE · Default 10

Specify thread pool size for Notification System processing notification rules and notification sending. Recommend value <= 10

TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS · Default NEW_PLATFORM_VERSION:0;RATE_LIMITS:14400000;

Semicolon-separated deduplication durations (in millis) for trigger types. Format: ‘NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456’

METRICS_ENDPOINTS_EXPOSE · Default info

Expose metrics endpoint (use value ‘prometheus’ to enable prometheus metrics).

Mobile application settings for Thingsboard mobile application

Section titled “Mobile application settings for Thingsboard mobile application”

TB_MOBILE_APP_DOMAIN · Default demo.thingsboard.io

Server domain name for Thingsboard Live mobile application

TB_MOBILE_APP_GOOGLE_PLAY_LINK · Default https://play.google.com/store/apps/details?id=org.thingsboard.demo.app

Link to Google Play store for Thingsboard Live mobile application

TB_MOBILE_APP_APP_STORE_LINK · Default https://apps.apple.com/us/app/thingsboard-live/id1594355695

Link to App Store for Thingsboard Live mobile application

TB_MQTT_CLIENT_RETRANSMISSION_MAX_ATTEMPTS · Default 3

Maximum number of retransmission attempts allowed. If the attempt count exceeds this value, retransmissions will stop and the pending message will be dropped.

TB_MQTT_CLIENT_RETRANSMISSION_INITIAL_DELAY_MILLIS · Default 5000

Base delay (in milliseconds) before the first retransmission attempt, measured from the moment the message is sent. Subsequent delays are calculated using exponential backoff. This base delay is also used as the reference value for applying jitter.

TB_MQTT_CLIENT_RETRANSMISSION_JITTER_FACTOR · Default 0.15

Jitter factor applied to the calculated retransmission delay. The actual delay is randomized within a range defined by multiplying the base delay by a factor between (1 - jitter_factor) and (1 + jitter_factor). For example, a jitter_factor of 0.15 means the actual delay may vary by up to ±15% of the base delay.