@ -15,6 +15,7 @@
#
#
# Server common parameters
# Server common parameters
# Configures HTTP/HTTPS bind address, port, SSL, WebSocket, and REST API settings.
server:
server:
# Server bind-address
# Server bind-address
address : "${HTTP_BIND_ADDRESS:0.0.0.0}"
address : "${HTTP_BIND_ADDRESS:0.0.0.0}"
@ -114,23 +115,25 @@ server:
reset_password_per_user : "${RESET_PASSWORD_PER_USER_RATE_LIMIT_CONFIGURATION:5:3600}"
reset_password_per_user : "${RESET_PASSWORD_PER_USER_RATE_LIMIT_CONFIGURATION:5:3600}"
# Application info parameters
# Application info parameters
# Exposes application metadata such as version string injected at build time.
app:
app:
# Application version
# Application version
version : "@project.version@"
version : "@project.version@"
# Zookeeper connection parameters
# ZooKeeper connection parameters
# Controls ZooKeeper-based service discovery and cluster coordination for microservice deployments.
zk:
zk:
# Enable/disable zook eeper discovery service.
# Enable/disable ZooK eeper discovery service.
enabled : "${ZOOKEEPER_ENABLED:false}"
enabled : "${ZOOKEEPER_ENABLED:false}"
# Zook eeper connect string
# ZooK eeper connect string
url : "${ZOOKEEPER_URL:localhost:2181}"
url : "${ZOOKEEPER_URL:localhost:2181}"
# Zook eeper retry interval in milliseconds
# ZooK eeper retry interval in milliseconds
retry_interval_ms : "${ZOOKEEPER_RETRY_INTERVAL_MS:3000}"
retry_interval_ms : "${ZOOKEEPER_RETRY_INTERVAL_MS:3000}"
# Zook eeper connection timeout in milliseconds
# ZooK eeper connection timeout in milliseconds
connection_timeout_ms : "${ZOOKEEPER_CONNECTION_TIMEOUT_MS:3000}"
connection_timeout_ms : "${ZOOKEEPER_CONNECTION_TIMEOUT_MS:3000}"
# Zook eeper session timeout in milliseconds
# ZooK eeper session timeout in milliseconds
session_timeout_ms : "${ZOOKEEPER_SESSION_TIMEOUT_MS:3000}"
session_timeout_ms : "${ZOOKEEPER_SESSION_TIMEOUT_MS:3000}"
# Name of the directory in zook eeper 'filesystem'
# Name of the directory in ZooK eeper 'filesystem'
zk_dir : "${ZOOKEEPER_NODES_DIR:/thingsboard}"
zk_dir : "${ZOOKEEPER_NODES_DIR:/thingsboard}"
# The recalculate_delay property is recommended in a microservices architecture setup for rule-engine services.
# 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.
# 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.
@ -138,6 +141,7 @@ zk:
recalculate_delay : "${ZOOKEEPER_RECALCULATE_DELAY_MS:0}"
recalculate_delay : "${ZOOKEEPER_RECALCULATE_DELAY_MS:0}"
# Cluster parameters
# Cluster parameters
# Controls cluster statistics — tracks the number of messages exchanged between cluster nodes.
cluster:
cluster:
stats:
stats:
# Enable/Disable the cluster statistics. Calculates the number of messages sent between cluster nodes based on each type
# Enable/Disable the cluster statistics. Calculates the number of messages sent between cluster nodes based on each type
@ -146,11 +150,13 @@ cluster:
print_interval_ms : "${TB_CLUSTER_STATS_PRINT_INTERVAL_MS:10000}"
print_interval_ms : "${TB_CLUSTER_STATS_PRINT_INTERVAL_MS:10000}"
# Plugins configuration parameters
# Plugins configuration parameters
# Defines classpath scan packages used to discover and register ThingsBoard extension plugins.
plugins:
plugins:
# Comma-separated package list used during classpath scanning for plugins
# Comma-separated package list used during classpath scanning for plugins
scan_packages : "${PLUGINS_SCAN_PACKAGES:org.thingsboard.server.extensions,org.thingsboard.rule.engine}"
scan_packages : "${PLUGINS_SCAN_PACKAGES:org.thingsboard.server.extensions,org.thingsboard.rule.engine}"
# Security parameters
# Security parameters
# Configures JWT tokens, user login, device claiming, OAuth2, and CA certificate trust store.
security:
security:
# JWT Token parameters
# JWT Token parameters
jwt : # Since 3.4.2 values are persisted in the database during installation or upgrade. On Install, the key will be generated randomly if no custom value set. You can change it later from Web UI under SYS_ADMIN
jwt : # Since 3.4.2 values are persisted in the database during installation or upgrade. On Install, the key will be generated randomly if no custom value set. You can change it later from Web UI under SYS_ADMIN
@ -237,6 +243,7 @@ security:
report-only : "${SECURITY_HEADERS_CONTENT_SECURITY_POLICY_REPORT_ONLY:false}"
report-only : "${SECURITY_HEADERS_CONTENT_SECURITY_POLICY_REPORT_ONLY:false}"
# Mail settings parameters
# Mail settings parameters
# Configures mail service OAuth2 token refresh and per-tenant sending rate limits.
mail:
mail:
oauth2:
oauth2:
# Interval for checking refresh token expiration in seconds(by default, 1 day).
# Interval for checking refresh token expiration in seconds(by default, 1 day).
@ -245,6 +252,7 @@ mail:
per_tenant_rate_limits : "${MAIL_PER_TENANT_RATE_LIMITS:}"
per_tenant_rate_limits : "${MAIL_PER_TENANT_RATE_LIMITS:}"
# Usage statistics parameters
# Usage statistics parameters
# Controls collection and reporting intervals for API usage stats at system, tenant, and customer levels.
usage:
usage:
stats:
stats:
report:
report:
@ -266,6 +274,7 @@ usage:
report_interval : "${DEVICES_STATS_REPORT_INTERVAL:60}"
report_interval : "${DEVICES_STATS_REPORT_INTERVAL:60}"
# UI settings parameters
# UI settings parameters
# Configures dashboard data limits and base URL for UI help assets.
ui:
ui:
# Dashboard parameters
# Dashboard parameters
dashboard:
dashboard:
@ -277,6 +286,7 @@ ui:
base-url : "${UI_HELP_BASE_URL:https://raw.githubusercontent.com/thingsboard/thingsboard-ui-help/release-4.2.2}"
base-url : "${UI_HELP_BASE_URL:https://raw.githubusercontent.com/thingsboard/thingsboard-ui-help/release-4.2.2}"
# Database telemetry parameters
# Database telemetry parameters
# Selects the storage backend (SQL, Cassandra, or TimescaleDB) for time-series and latest telemetry data.
database:
database:
ts_max_intervals : "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by a single API call to fetch telemetry records
ts_max_intervals : "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by a single API call to fetch telemetry records
ts:
ts:
@ -285,6 +295,7 @@ database:
type : "${DATABASE_TS_LATEST_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
type : "${DATABASE_TS_LATEST_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
# Cassandra driver configuration parameters
# Cassandra driver configuration parameters
# Configures cluster name, keyspace, SSL, credentials, socket, and query settings for the Cassandra driver.
cassandra:
cassandra:
# Thingsboard cluster name
# Thingsboard cluster name
cluster_name : "${CASSANDRA_CLUSTER_NAME:Thingsboard Cluster}"
cluster_name : "${CASSANDRA_CLUSTER_NAME:Thingsboard Cluster}"
@ -403,6 +414,7 @@ cassandra:
print_tenant_names : "${CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES:false}"
print_tenant_names : "${CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES:false}"
# SQL configuration parameters
# SQL configuration parameters
# Tunes batch sizes, delays, thread counts, TTL, and partitioning for SQL-backed persistence of telemetry, events, and audit logs.
sql:
sql:
# Specify batch size for persisting attribute updates
# Specify batch size for persisting attribute updates
attributes:
attributes:
@ -504,6 +516,7 @@ sql:
query_timeout : "${SQL_RELATIONS_QUERY_TIMEOUT_SEC:20}" # This value has to be reasonably small to prevent the relation query from blocking all other DB calls
query_timeout : "${SQL_RELATIONS_QUERY_TIMEOUT_SEC:20}" # This value has to be reasonably small to prevent the relation query from blocking all other DB calls
# Actor system parameters
# Actor system parameters
# Configures thread pools, timeouts, and behavior for the internal actor system processing devices, rules, and RPCs.
actors:
actors:
system:
system:
throughput : "${ACTORS_SYSTEM_THROUGHPUT:5}" # Number of messages the actor system will process per actor before switching to processing of messages for the next actor
throughput : "${ACTORS_SYSTEM_THROUGHPUT:5}" # Number of messages the actor system will process per actor before switching to processing of messages for the next actor
@ -597,14 +610,14 @@ actors:
response_timeout_ms : "${ACTORS_RPC_RESPONSE_TIMEOUT_MS:30000}"
response_timeout_ms : "${ACTORS_RPC_RESPONSE_TIMEOUT_MS:30000}"
# Close transport session if RPC delivery timed out. If enabled, RPC will be reverted to the queued state.
# Close transport session if RPC delivery timed out. If enabled, RPC will be reverted to the queued state.
# Note:
# Note:
# - For MQTT transport:
# <ul><li> For MQTT transport:
# - QoS level 0: This feature does not apply, as no acknowledgment is expected, and therefore no timeout is triggered.
# <ul><li> QoS level 0: This feature does not apply, as no acknowledgment is expected, and therefore no timeout is triggered.</li>
# - QoS level 1: This feature applies, as an acknowledgment is expected.
# <li> QoS level 1: This feature applies, as an acknowledgment is expected.</li>
# - QoS level 2: Unsupported.
# <li> QoS level 2: Unsupported.</li></ul></li>
# - For CoAP transport:
# <li> For CoAP transport:
# - Confirmable requests: This feature applies, as delivery confirmation is expected.
# <ul><li> Confirmable requests: This feature applies, as delivery confirmation is expected.</li>
# - Non-confirmable requests: This feature does not apply, as no delivery acknowledgment is expected.
# <li> Non-confirmable requests: This feature does not apply, as no delivery acknowledgment is expected.</li></ul></li>
# - For HTTP and SNPM transports: RPC is considered delivered immediately, and there is no logic to await acknowledgment.
# <li> For HTTP and SNPM transports: RPC is considered delivered immediately, and there is no logic to await acknowledgment.</li></ul>
close_session_on_rpc_delivery_timeout : "${ACTORS_RPC_CLOSE_SESSION_ON_RPC_DELIVERY_TIMEOUT:false}"
close_session_on_rpc_delivery_timeout : "${ACTORS_RPC_CLOSE_SESSION_ON_RPC_DELIVERY_TIMEOUT:false}"
statistics:
statistics:
# Enable/disable actor statistics
# Enable/disable actor statistics
@ -620,6 +633,8 @@ actors:
# Time in seconds to receive calculation result.
# Time in seconds to receive calculation result.
calculation_timeout : "${ACTORS_CALCULATION_TIMEOUT_SEC:5}"
calculation_timeout : "${ACTORS_CALCULATION_TIMEOUT_SEC:5}"
# Debug settings parameters
# Configures the global default duration for debug mode used by rule chains and calculated fields.
debug:
debug:
settings:
settings:
# Default duration (in minutes) for debug mode. Min value is 1 minute. Tenant profile settings override this one.
# Default duration (in minutes) for debug mode. Min value is 1 minute. Tenant profile settings override this one.
@ -627,6 +642,7 @@ debug:
default_duration : "${DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES:15}"
default_duration : "${DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES:15}"
# Cache settings parameters
# Cache settings parameters
# Configures cache type (Caffeine or Redis), pool size, and per-entity TTL and max-size limits for all caches.
cache:
cache:
# caffeine or redis(7.2 - latest compatible version)
# caffeine or redis(7.2 - latest compatible version)
type : "${CACHE_TYPE:caffeine}"
type : "${CACHE_TYPE:caffeine}"
@ -780,6 +796,7 @@ cache:
spring.data.redis.repositories.enabled : false # Disable this because it is not required.
spring.data.redis.repositories.enabled : false # Disable this because it is not required.
# Redis/Valkey configuration parameters
# Redis/Valkey configuration parameters
# Configures standalone, cluster, or sentinel Redis connection, SSL, and connection pool settings used for caching.
redis:
redis:
# standalone or cluster or sentinel
# standalone or cluster or sentinel
connection:
connection:
@ -808,17 +825,17 @@ redis:
# if set false will be used pool config build from values of the pool config section
# if set false will be used pool config build from values of the pool config section
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
sentinel:
sentinel:
# n ame of the master node
# N ame of the master node
master : "${REDIS_MASTER:}"
master : "${REDIS_MASTER:}"
# c omma-separated list of "host:port" pairs of sentinels
# C omma-separated list of "host:port" pairs of sentinels
sentinels : "${REDIS_SENTINELS:}"
sentinels : "${REDIS_SENTINELS:}"
# p assword to authenticate with sentinel
# P assword to authenticate with sentinel
password : "${REDIS_SENTINEL_PASSWORD:}"
password : "${REDIS_SENTINEL_PASSWORD:}"
# i f set false will be used pool config build from values of the pool config section
# I f set false will be used pool config build from values of the pool config section
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
# db index
# Re dis logical data base index to select after connecting.
db : "${REDIS_DB:0}"
db : "${REDIS_DB:0}"
# db password
# Password for Redis authentication (leave empty if not required).
password : "${REDIS_PASSWORD:}"
password : "${REDIS_PASSWORD:}"
# Redis username for ACL authentication (Redis 6.0+). Leave empty for legacy password-only auth
# Redis username for ACL authentication (Redis 6.0+). Leave empty for legacy password-only auth
username : "${REDIS_USERNAME:}"
username : "${REDIS_USERNAME:}"
@ -863,6 +880,7 @@ redis:
# Update version parameters
# Update version parameters
# Controls whether the platform periodically checks for new ThingsBoard releases.
updates:
updates:
# Enable/disable checks for the new version
# Enable/disable checks for the new version
enabled : "${UPDATES_ENABLED:true}"
enabled : "${UPDATES_ENABLED:true}"
@ -891,6 +909,7 @@ spring.mvc.cors:
allow-credentials : "${TB_CORS_ALLOW_CREDENTIALS:true}"
allow-credentials : "${TB_CORS_ALLOW_CREDENTIALS:true}"
# General spring parameters
# General spring parameters
# Miscellaneous Spring Boot settings for circular references, Freemarker, MVC, multipart, and JPA dialect.
spring.main.allow-circular-references : "true" # Spring Boot configuration property that controls whether circular dependencies between beans are allowed.
spring.main.allow-circular-references : "true" # Spring Boot configuration property that controls whether circular dependencies between beans are allowed.
spring.freemarker.checkTemplateLocation : "false" # spring freemarker configuration
spring.freemarker.checkTemplateLocation : "false" # spring freemarker configuration
spring.mvc.async.request-timeout : "${SPRING_MVC_ASYNC_REQUEST_TIMEOUT:30000}" # The default timeout for asynchronous requests in milliseconds
spring.mvc.async.request-timeout : "${SPRING_MVC_ASYNC_REQUEST_TIMEOUT:30000}" # The default timeout for asynchronous requests in milliseconds
@ -909,6 +928,7 @@ spring.jpa.properties.hibernate.order_by.default_null_ordering: "${SPRING_JPA_PR
spring.jpa.properties.hibernate.dialect : "${SPRING_JPA_DIALECT:org.thingsboard.server.dao.ThingsboardPostgreSQLDialect}" # we use custom dialect that contains ilike(arg1, arg2) function (is interpreted to postgres ILIKE operator)
spring.jpa.properties.hibernate.dialect : "${SPRING_JPA_DIALECT:org.thingsboard.server.dao.ThingsboardPostgreSQLDialect}" # we use custom dialect that contains ilike(arg1, arg2) function (is interpreted to postgres ILIKE operator)
# SQL DAO Configuration parameters
# SQL DAO Configuration parameters
# Configures Spring JPA, Hibernate DDL, and HikariCP datasource connections for the primary and events databases.
spring:
spring:
data:
data:
jpa:
jpa:
@ -959,6 +979,7 @@ spring:
registerMbeans : "${SPRING_EVENTS_DATASOURCE_HIKARI_REGISTER_MBEANS:false}"
registerMbeans : "${SPRING_EVENTS_DATASOURCE_HIKARI_REGISTER_MBEANS:false}"
# Audit log parameters
# Audit log parameters
# Configures audit logging levels per entity type and optional forwarding to an external sink such as Elasticsearch.
audit-log:
audit-log:
# Enable/disable audit log functionality.
# Enable/disable audit log functionality.
enabled : "${AUDIT_LOG_ENABLED:true}"
enabled : "${AUDIT_LOG_ENABLED:true}"
@ -1001,6 +1022,7 @@ audit-log:
password : "${AUDIT_LOG_SINK_PASSWORD:}" # Password used to access external sink system
password : "${AUDIT_LOG_SINK_PASSWORD:}" # Password used to access external sink system
# Device state parameters
# Device state parameters
# Configures device inactivity detection, state persistence strategy, and rate limits for state rule nodes.
state:
state:
# Device inactivity timeout is a global configuration parameter that defines when the device will be marked as "inactive" by the server.
# 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).
# 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).
@ -1031,7 +1053,8 @@ state:
# Refill is set to be greedy. Please refer to Bucket4j library documentation for more details.
# Refill is set to be greedy. Please refer to Bucket4j library documentation for more details.
rateLimit : "${DEVICE_STATE_NODE_RATE_LIMIT_CONFIGURATION:1:1,30:60,60:3600}"
rateLimit : "${DEVICE_STATE_NODE_RATE_LIMIT_CONFIGURATION:1:1,30:60,60:3600}"
# Tbel parameters
# TBEL parameters
# Configures the ThingsBoard Expression Language (TBEL) engine: limits, timeouts, thread pool, and blacklisting.
tbel:
tbel:
# Enable/Disable TBEL feature.
# Enable/Disable TBEL feature.
enabled : "${TBEL_ENABLED:true}"
enabled : "${TBEL_ENABLED:true}"
@ -1060,6 +1083,7 @@ tbel:
print_interval_ms : "${TB_TBEL_STATS_PRINT_INTERVAL_MS:10000}"
print_interval_ms : "${TB_TBEL_STATS_PRINT_INTERVAL_MS:10000}"
# JS parameters
# JS parameters
# Configures the JavaScript execution engine (local Nashorn or remote Node.js): limits, sandboxing, and thread pools.
js:
js:
# local (Nashorn Engine, deprecated) OR remote JS-Executors (NodeJS)
# local (Nashorn Engine, deprecated) OR remote JS-Executors (NodeJS)
evaluator : "${JS_EVALUATOR:local}"
evaluator : "${JS_EVALUATOR:local}"
@ -1107,6 +1131,7 @@ js:
print_interval_ms : "${TB_JS_REMOTE_STATS_PRINT_INTERVAL_MS:10000}"
print_interval_ms : "${TB_JS_REMOTE_STATS_PRINT_INTERVAL_MS:10000}"
# Transport configuration parameters
# Transport configuration parameters
# Configures session management, rate limits, and protocol-specific settings for HTTP, MQTT, CoAP, LwM2M, and SNMP transports.
transport:
transport:
sessions:
sessions:
# 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.
# 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.
@ -1123,10 +1148,10 @@ transport:
activity:
activity:
# This property specifies the strategy for reporting activity events within each reporting period.
# This property specifies the strategy for reporting activity events within each reporting period.
# The accepted values are 'FIRST', 'LAST', 'FIRST_AND_LAST' and 'ALL'.
# The accepted values are 'FIRST', 'LAST', 'FIRST_AND_LAST' and 'ALL'.
# - 'FIRST': Only the first activity event in each reporting period is reported.
# <ul><li> 'FIRST': Only the first activity event in each reporting period is reported.</li>
# - 'LAST': Only the last activity event in the reporting period is reported.
# <li> 'LAST': Only the last activity event in the reporting period is reported.</li>
# - 'FIRST_AND_LAST': Both the first and last activity events in the reporting period are reported.
# <li> 'FIRST_AND_LAST': Both the first and last activity events in the reporting period are reported.</li>
# - 'ALL': All activity events in the reporting period are reported.
# <li> 'ALL': All activity events in the reporting period are reported.</li></ul>
reporting_strategy : "${TB_TRANSPORT_ACTIVITY_REPORTING_STRATEGY:LAST}"
reporting_strategy : "${TB_TRANSPORT_ACTIVITY_REPORTING_STRATEGY:LAST}"
json:
json:
# Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
# Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
@ -1246,16 +1271,16 @@ transport:
dtls:
dtls:
# RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
# RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
retransmission_timeout : "${LWM2M_DTLS_RETRANSMISSION_TIMEOUT_MS:9000}"
retransmission_timeout : "${LWM2M_DTLS_RETRANSMISSION_TIMEOUT_MS:9000}"
# CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
# LWM2M DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2
# Default: off
# Default: off. <br>
# Control usage of DTLS connection ID length (CID).
# Control usage of DTLS connection ID length (CID).
# - 'off' to deactivate it.
# <ul> <li> 'off' to deactivate it. </li>
# - 'on' to activate Connection ID support (same as CID 0 or more 0).
# <li> 'on' to activate Connection ID support (same as CID 0 or more 0). </li>
# - A positive value defines generated CID size in bytes.
# <li> A positive value defines generated CID size in bytes.</li>
# - A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic).
# <li> A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic). </li>
# - A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used
# <li> A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used </li>
# - A value that are > 4: MultiNodeConnectionIdGenerator is used
# <li> A value that are > 4: MultiNodeConnectionIdGenerator is used </li> </ul>
connection_id_length : "${LWM2M_DTLS_CONNECTION_ID_LENGTH:}"
connection_id_length : "${LWM2M_DTLS_CONNECTION_ID_LENGTH:8 }"
server:
server:
# LwM2M Server ID
# LwM2M Server ID
id : "${LWM2M_SERVER_ID:123}"
id : "${LWM2M_SERVER_ID:123}"
@ -1428,6 +1453,7 @@ transport:
check_interval_seconds : "${TB_TRANSPORT_SSL_CERTIFICATE_RELOAD_CHECK_INTERVAL_SECONDS:60}"
check_interval_seconds : "${TB_TRANSPORT_SSL_CERTIFICATE_RELOAD_CHECK_INTERVAL_SECONDS:60}"
# CoAP server parameters
# CoAP server parameters
# Configures the standalone CoAP server bind address, port, DTLS encryption, and credential settings.
coap:
coap:
server:
server:
# Enable/disable coap server.
# Enable/disable coap server.
@ -1446,15 +1472,15 @@ coap:
# CoAP DTLS bind port
# CoAP DTLS bind port
bind_port : "${COAP_DTLS_BIND_PORT:5684}"
bind_port : "${COAP_DTLS_BIND_PORT:5684}"
# CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
# CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
# Default: off
# Default: off. <br>
# Control usage of DTLS connection ID length (CID).
# Control usage of DTLS connection ID length (CID).
# - 'off' to deactivate it.
# <ul> <li> 'off' to deactivate it. </li>
# - 'on' to activate Connection ID support (same as CID 0 or more 0).
# <li> 'on' to activate Connection ID support (same as CID 0 or more 0). </li>
# - A positive value defines generated CID size in bytes.
# <li> A positive value defines generated CID size in bytes.</li>
# - A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic).
# <li> A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic).</li>
# - A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used
# <li> A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used</li>
# - A value that are > 4: MultiNodeConnectionIdGenerator is used
# <li> A value that are > 4: MultiNodeConnectionIdGenerator is used</li> </ul>
connection_id_length : "${COAP_DTLS_CONNECTION_ID_LENGTH:}"
connection_id_length : "${COAP_DTLS_CONNECTION_ID_LENGTH:8 }"
# Specify the MTU (Maximum Transmission Unit).
# 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.
# 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
# Default = 1024
@ -1470,13 +1496,13 @@ coap:
# In order to negotiate smaller maximum fragment lengths,
# In order to negotiate smaller maximum fragment lengths,
# clients MAY include an extension of type "max_fragment_length" in the (extended) client hello.
# clients MAY include an extension of type "max_fragment_length" in the (extended) client hello.
# The "extension_data" field of this extension SHALL contain:
# The "extension_data" field of this extension SHALL contain:
# enum {
# <pre> enum {
# 2^9(1) == 512,
# 2^9(1) == 512,
# 2^10(2) == 1024,
# 2^10(2) == 1024,
# 2^11(3) == 2048,
# 2^11(3) == 2048,
# 2^12(4) == 4096,
# 2^12(4) == 4096,
# (255)
# (255)
# } MaxFragmentLength;
# } MaxFragmentLength; </pre>
# TLS already requires clients and servers to support fragmentation of handshake messages.
# TLS already requires clients and servers to support fragmentation of handshake messages.
max_fragment_length : "${COAP_DTLS_MAX_FRAGMENT_LENGTH:1024}"
max_fragment_length : "${COAP_DTLS_MAX_FRAGMENT_LENGTH:1024}"
# Server DTLS credentials
# Server DTLS credentials
@ -1512,6 +1538,7 @@ coap:
dtls_session_report_timeout : "${TB_COAP_X509_DTLS_SESSION_REPORT_TIMEOUT:1800000}"
dtls_session_report_timeout : "${TB_COAP_X509_DTLS_SESSION_REPORT_TIMEOUT:1800000}"
# Device connectivity parameters
# Device connectivity parameters
# Specifies the hosts, ports, and credentials exposed to the UI for generating device connection check commands.
device:
device:
connectivity:
connectivity:
http:
http:
@ -1565,6 +1592,7 @@ device:
image_version : "${DEVICE_CONNECTIVITY_GATEWAY_IMAGE_VERSION:3.8-stable}"
image_version : "${DEVICE_CONNECTIVITY_GATEWAY_IMAGE_VERSION:3.8-stable}"
# Edges parameters
# Edges parameters
# Controls Edge instance gRPC communication, event storage, state persistence, and statistics reporting.
edges:
edges:
# Enable/disable Edge instance
# Enable/disable Edge instance
enabled : "${EDGES_ENABLED:true}"
enabled : "${EDGES_ENABLED:true}"
@ -1628,6 +1656,7 @@ edges:
report-interval-millis : "${EDGES_STATS_REPORT_INTERVAL_MS:600000}"
report-interval-millis : "${EDGES_STATS_REPORT_INTERVAL_MS:600000}"
# Spring doc common parameters
# Spring doc common parameters
# Enables or disables the OpenAPI/Swagger documentation endpoint and sets the default media type.
springdoc:
springdoc:
# If false swagger API docs will be unavailable
# If false swagger API docs will be unavailable
api-docs.enabled : "${SWAGGER_ENABLED:true}"
api-docs.enabled : "${SWAGGER_ENABLED:true}"
@ -1635,6 +1664,7 @@ springdoc:
default-produces-media-type : "${SWAGGER_DEFAULT_PRODUCES_MEDIA_TYPE:application/json}"
default-produces-media-type : "${SWAGGER_DEFAULT_PRODUCES_MEDIA_TYPE:application/json}"
# Swagger common parameters
# Swagger common parameters
# Configures Swagger UI metadata: title, description, contact, license, version, and API path patterns.
swagger:
swagger:
# General swagger match pattern of swagger UI links
# General swagger match pattern of swagger UI links
api_path : "${SWAGGER_API_PATH:/api/**}"
api_path : "${SWAGGER_API_PATH:/api/**}"
@ -1664,6 +1694,7 @@ swagger:
group_name : "${SWAGGER_GROUP_NAME:thingsboard}"
group_name : "${SWAGGER_GROUP_NAME:thingsboard}"
# Queue configuration parameters
# Queue configuration parameters
# Configures the message queue backend (in-memory or Kafka) and all topic/partition/consumer settings for each service.
queue:
queue:
type : "${TB_QUEUE_TYPE:in-memory}" # in-memory or kafka (Apache Kafka)
type : "${TB_QUEUE_TYPE:in-memory}" # in-memory or kafka (Apache Kafka)
prefix : "${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).
prefix : "${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).
@ -2074,12 +2105,14 @@ queue:
processing_interval : "${TB_QUEUE_TASKS_STATS_PROCESSING_INTERVAL_MS:1000}"
processing_interval : "${TB_QUEUE_TASKS_STATS_PROCESSING_INTERVAL_MS:1000}"
# Event configuration parameters
# Event configuration parameters
# Controls limits on debug event content size stored for rule chain and rule node execution.
event:
event:
debug:
debug:
# Maximum number of symbols per debug event. The event content will be truncated if needed
# Maximum number of symbols per debug event. The event content will be truncated if needed
max-symbols : "${TB_MAX_DEBUG_EVENT_SYMBOLS:4096}"
max-symbols : "${TB_MAX_DEBUG_EVENT_SYMBOLS:4096}"
# General service parameters
# General service parameters
# Sets the deployment type (monolith or microservice) and assigns tenant profiles to specific Rule Engine instances.
service:
service:
type : "${TB_SERVICE_TYPE:monolith}" # monolith or tb-core or tb-rule-engine
type : "${TB_SERVICE_TYPE:monolith}" # monolith or tb-core or tb-rule-engine
# Unique id for this service (autogenerated if empty)
# Unique id for this service (autogenerated if empty)
@ -2093,6 +2126,7 @@ service:
executor_thread_pool_size : "${TB_RULE_ENGINE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE:0}"
executor_thread_pool_size : "${TB_RULE_ENGINE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE:0}"
# Metrics parameters
# Metrics parameters
# Enables actuator metrics endpoint and configures system info (CPU, memory) persistence frequency and TTL.
metrics:
metrics:
# Enable/disable actuator metrics.
# Enable/disable actuator metrics.
enabled : "${METRICS_ENABLED:false}"
enabled : "${METRICS_ENABLED:false}"
@ -2106,6 +2140,7 @@ metrics:
ttl : "${METRICS_SYSTEM_INFO_TTL_DAYS:7}"
ttl : "${METRICS_SYSTEM_INFO_TTL_DAYS:7}"
# Version control parameters
# Version control parameters
# Configures thread pools and Git repository folder for entity version control (export/import) operations.
vc:
vc:
# Pool size for handling export tasks
# Pool size for handling export tasks
thread_pool_size : "${TB_VC_POOL_SIZE:6}"
thread_pool_size : "${TB_VC_POOL_SIZE:6}"
@ -2116,6 +2151,7 @@ vc:
repositories-folder : "${TB_VC_GIT_REPOSITORIES_FOLDER:${java.io.tmpdir}/repositories}"
repositories-folder : "${TB_VC_GIT_REPOSITORIES_FOLDER:${java.io.tmpdir}/repositories}"
# Notification system parameters
# Notification system parameters
# Configures thread pool size and deduplication intervals for the notification rule processing engine.
notification_system:
notification_system:
# Specify thread pool size for Notification System processing notification rules and notification sending. Recommend value <= 10
# Specify thread pool size for Notification System processing notification rules and notification sending. Recommend value <= 10
thread_pool_size : "${TB_NOTIFICATION_SYSTEM_THREAD_POOL_SIZE:10}"
thread_pool_size : "${TB_NOTIFICATION_SYSTEM_THREAD_POOL_SIZE:10}"
@ -2124,6 +2160,7 @@ notification_system:
deduplication_durations : "${TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS:NEW_PLATFORM_VERSION:0;RATE_LIMITS:14400000;}"
deduplication_durations : "${TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS:NEW_PLATFORM_VERSION:0;RATE_LIMITS:14400000;}"
# General management parameters
# General management parameters
# Configures Spring Boot Actuator endpoint exposure and health indicator settings.
management:
management:
endpoints:
endpoints:
web:
web:
@ -2136,6 +2173,7 @@ management:
enabled : "false"
enabled : "false"
# Mobile application settings for Thingsboard mobile application
# Mobile application settings for Thingsboard mobile application
# Specifies domain name and store links used for the ThingsBoard Live mobile application QR code and deep links.
mobileApp:
mobileApp:
# Server domain name for Thingsboard Live mobile application
# Server domain name for Thingsboard Live mobile application
domain : "${TB_MOBILE_APP_DOMAIN:demo.thingsboard.io}"
domain : "${TB_MOBILE_APP_DOMAIN:demo.thingsboard.io}"
@ -2144,6 +2182,8 @@ mobileApp:
# Link to App Store for Thingsboard Live mobile application
# Link to App Store for Thingsboard Live mobile application
appStoreLink : "${TB_MOBILE_APP_APP_STORE_LINK:https://apps.apple.com/us/app/thingsboard-live/id1594355695}"
appStoreLink : "${TB_MOBILE_APP_APP_STORE_LINK:https://apps.apple.com/us/app/thingsboard-live/id1594355695}"
# MQTT client parameters
# Configures MQTT client retransmission behavior including max attempts, initial delay, and jitter factor.
mqtt:
mqtt:
# MQTT client configuration parameters
# MQTT client configuration parameters
client:
client: