# 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
# 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
# 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
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.
# 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.
# 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.
# 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/**}"
@ -1662,6 +1692,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).
# Defines the messaging queue backend used to dispatch JS evaluation requests to the executor and receive results.
queue_prefix:""
queue_type:"kafka"# Queue type used for JS evaluation requests: kafka or in-memory
http_port:"8888"# /livenessProbe
request_topic:"js_eval.requests"# Kafka topic name for incoming JS evaluation requests
queue_prefix:""# Optional prefix applied to all queue/topic names; useful for environment isolation
http_port:"8888"# HTTP port exposing the /livenessProbe health check endpoint
# JavaScript execution configuration
# Controls response polling behavior and output size limits for individual JS script executions.
js:
js:
response_poll_interval:"25"
response_poll_interval:"25"# Interval in milliseconds to poll for JS execution responses
max_result_size:"300000"
max_result_size:"300000"# Maximum allowed size in bytes of a JS execution result
# Kafka configuration
# Connection, producer, and topic settings for the Kafka message broker used as the JS evaluation queue.
kafka:
kafka:
bootstrap:
bootstrap:
# Kafka Bootstrap Servers
# Kafka Bootstrap Servers
servers:"localhost:9092"
servers:"localhost:9092"
replication_factor:"1"
replication_factor:"1"# Number of replicas for each Kafka topic partition
acks:"1"# -1 = all; 0 = no acknowledgments; 1 = only waits for the leader to acknowledge
acks:"1"# -1 = all; 0 = no acknowledgments; 1 = only waits for the leader to acknowledge
batch_size:"128"# for producer
batch_size:"128"# Maximum number of bytes the producer batches per partition before sending
linger_ms:"5"# for producer
linger_ms:"5"# Time in milliseconds the producer waits before sending a batch, allowing more messages to accumulate
partitions_consumed_concurrently:"1"# (EXPERIMENTAL) increase this value if you are planning to handle more than one partition (scale up, scale down) - this will decrease the latency
partitions_consumed_concurrently:"1"# (EXPERIMENTAL) increase this value if you are planning to handle more than one partition (scale up, scale down) - this will decrease the latency
requestTimeout:"30000"# The default value in kafkajs is: 30000
requestTimeout:"30000"# Time in milliseconds to wait for a response to a Kafka request before timing out
connectionTimeout:"1000"# The default value in kafkajs is: 1000
connectionTimeout:"1000"# Time in milliseconds to wait when establishing a connection to a Kafka broker
compression:"none"# gzip, lz4 or none
compression:"none"# Message compression codec for the producer: gzip, lz4 or none
# Controls Spring Boot startup mode, web environment type, and bean wiring behaviour.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
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.
# Server common parameters
# Server common parameters
# Configures the embedded HTTP server bind address and port used for actuator and metrics endpoints.
server:
server:
# Server bind address (has no effect if web-environment is disabled).
# Server bind address (has no effect if web-environment is disabled).
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).
# Controls core Spring Boot application settings such as web environment and application type.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
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.
# Server common parameters
# Server common parameters
# Configures the HTTP server bind address and port for the actuator/metrics web endpoint.
server:
server:
# Server bind address (has no effect if web-environment is disabled).
# Server bind address (has no effect if web-environment is disabled).
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
@ -27,6 +29,7 @@ server:
port:"${HTTP_BIND_PORT:8083}"
port:"${HTTP_BIND_PORT:8083}"
# Zookeeper connection parameters. Used for service discovery.
# Zookeeper connection parameters. Used for service discovery.
# Defines how this service registers itself and discovers other nodes via Apache ZooKeeper.
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).
# Configures the HTTP server bind address, port, SSL/TLS settings, and HTTP/2 support.
server:
server:
# Server bind address
# Server bind address
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
@ -54,6 +55,7 @@ server:
enabled:"${HTTP2_ENABLED:true}"
enabled:"${HTTP2_ENABLED:true}"
# Spring common parameters
# Spring common parameters
# Controls Spring Boot framework-level settings such as circular references and multipart upload limits.
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.servlet.multipart.max-file-size:"${SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE:50MB}"# Total file size cannot exceed 50MB when configuring file uploads
spring.servlet.multipart.max-file-size:"${SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE:50MB}"# Total file size cannot exceed 50MB when configuring file uploads
spring.servlet.multipart.max-request-size:"${SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE:50MB}"# Total request size for a multipart/form-data cannot exceed 50MB
spring.servlet.multipart.max-request-size:"${SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE:50MB}"# Total request size for a multipart/form-data cannot exceed 50MB
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) .
# Controls Spring Boot web environment and application type settings used for optional metrics exposure.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
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.
# Server common parameters
# Server common parameters
# HTTP server bind address and port, effective only when the web environment is enabled.
server:
server:
# Server bind address (has no effect if web-environment is disabled).
# Server bind address (has no effect if web-environment is disabled).
# Session, JSON processing, RPC, logging, and LwM2M-specific transport settings including DTLS, bootstrap, and OTA.
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.
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).
# Controls Spring Boot application type, web environment, and bean dependency settings.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
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.
# Server common parameters
# Server common parameters
# Configures the embedded HTTP server bind address and port for actuator/metrics endpoints.
server:
server:
# Server bind address (has no effect if web-environment is disabled).
# Server bind address (has no effect if web-environment is disabled).
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
@ -27,6 +29,7 @@ server:
port:"${HTTP_BIND_PORT:8083}"
port:"${HTTP_BIND_PORT:8083}"
# Zookeeper connection parameters. Used for service discovery.
# Zookeeper connection parameters. Used for service discovery.
# Defines connection, session, retry settings and the node directory path for Zookeeper-based cluster coordination.
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).
# Controls Spring Boot application type and web environment settings for the SNMP transport service.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment:"${WEB_APPLICATION_ENABLE:false}"# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type:"${WEB_APPLICATION_TYPE:none}"# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
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.
# Server common parameters
# Server common parameters
# Configures the embedded HTTP server bind address and port (used when web environment is enabled).
server:
server:
# Server bind address (has no effect if web-environment is disabled).
# Server bind address (has no effect if web-environment is disabled).
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
address:"${HTTP_BIND_ADDRESS:0.0.0.0}"
@ -27,6 +29,7 @@ server:
port:"${HTTP_BIND_PORT:8083}"
port:"${HTTP_BIND_PORT:8083}"
# Zookeeper connection parameters. Used for service discovery.
# Zookeeper connection parameters. Used for service discovery.
# Defines ZooKeeper connectivity, timeouts, and cluster node registration settings for service coordination.
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).