thingsboard/docker/docker-compose.yml

326 lines
8.2 KiB
YAML
Raw Normal View History

#
2022-01-17 14:07:46 +02:00
# Copyright © 2016-2022 The Thingsboard Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
services:
zookeeper:
restart: always
image: "zookeeper:3.8.0"
ports:
- "2181"
2018-11-20 15:24:57 +02:00
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zookeeper:2888:3888;zookeeper:2181
ZOO_ADMINSERVER_ENABLED: "false"
tb-js-executor:
restart: always
image: "${DOCKER_REPO}/${JS_EXECUTOR_DOCKER_NAME}:${TB_VERSION}"
deploy:
replicas: 10
env_file:
- tb-js-executor.env
2020-04-24 14:54:25 +03:00
tb-core1:
restart: always
image: "${DOCKER_REPO}/${TB_NODE_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
- "7070"
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "30"
2018-10-25 19:08:06 +03:00
environment:
2020-04-24 14:54:25 +03:00
TB_SERVICE_ID: tb-core1
TB_SERVICE_TYPE: tb-core
EDGES_ENABLED: "true"
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-node.env
2018-10-25 19:08:06 +03:00
volumes:
- ./tb-node/conf:/config
- ./tb-node/log:/var/log/thingsboard
depends_on:
- zookeeper
- tb-js-executor
- tb-rule-engine1
- tb-rule-engine2
2020-04-24 14:54:25 +03:00
tb-core2:
2018-10-25 19:08:06 +03:00
restart: always
image: "${DOCKER_REPO}/${TB_NODE_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
- "7070"
2018-10-25 19:08:06 +03:00
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "30"
environment:
2020-04-24 14:54:25 +03:00
TB_SERVICE_ID: tb-core2
TB_SERVICE_TYPE: tb-core
EDGES_ENABLED: "true"
JAVA_OPTS: "${JAVA_OPTS}"
2020-04-24 14:54:25 +03:00
env_file:
- tb-node.env
volumes:
- ./tb-node/conf:/config
- ./tb-node/log:/var/log/thingsboard
depends_on:
- zookeeper
2020-04-24 14:54:25 +03:00
- tb-js-executor
- tb-rule-engine1
- tb-rule-engine2
2020-04-24 14:54:25 +03:00
tb-rule-engine1:
restart: always
image: "${DOCKER_REPO}/${TB_NODE_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "30"
environment:
TB_SERVICE_ID: tb-rule-engine1
TB_SERVICE_TYPE: tb-rule-engine
JAVA_OPTS: "${JAVA_OPTS}"
2020-04-24 14:54:25 +03:00
env_file:
- tb-node.env
volumes:
- ./tb-node/conf:/config
- ./tb-node/log:/var/log/thingsboard
depends_on:
- zookeeper
2020-04-24 14:54:25 +03:00
- tb-js-executor
tb-rule-engine2:
restart: always
image: "${DOCKER_REPO}/${TB_NODE_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
logging:
driver: "json-file"
options:
max-size: "200m"
max-file: "30"
environment:
TB_SERVICE_ID: tb-rule-engine2
TB_SERVICE_TYPE: tb-rule-engine
JAVA_OPTS: "${JAVA_OPTS}"
2018-10-25 19:08:06 +03:00
env_file:
- tb-node.env
2017-07-26 16:16:07 +03:00
volumes:
- ./tb-node/conf:/config
- ./tb-node/log:/var/log/thingsboard
depends_on:
- zookeeper
- tb-js-executor
tb-mqtt-transport1:
restart: always
image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
2017-05-24 16:37:20 +03:00
ports:
- "1883"
environment:
2020-04-24 13:55:06 +03:00
TB_SERVICE_ID: tb-mqtt-transport1
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-mqtt-transport.env
volumes:
- ./tb-transports/mqtt/conf:/config
- ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-mqtt-transport2:
restart: always
image: "${DOCKER_REPO}/${MQTT_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
2017-05-24 16:37:20 +03:00
ports:
- "1883"
environment:
2020-04-24 13:55:06 +03:00
TB_SERVICE_ID: tb-mqtt-transport2
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-mqtt-transport.env
volumes:
- ./tb-transports/mqtt/conf:/config
- ./tb-transports/mqtt/log:/var/log/tb-mqtt-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-http-transport1:
restart: always
image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8081"
environment:
2020-04-24 13:55:06 +03:00
TB_SERVICE_ID: tb-http-transport1
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-http-transport.env
volumes:
- ./tb-transports/http/conf:/config
- ./tb-transports/http/log:/var/log/tb-http-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-http-transport2:
restart: always
image: "${DOCKER_REPO}/${HTTP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8081"
environment:
2020-04-24 13:55:06 +03:00
TB_SERVICE_ID: tb-http-transport2
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-http-transport.env
volumes:
- ./tb-transports/http/conf:/config
- ./tb-transports/http/log:/var/log/tb-http-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-coap-transport:
restart: always
image: "${DOCKER_REPO}/${COAP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports:
- "5683:5683/udp"
environment:
2020-04-24 13:55:06 +03:00
TB_SERVICE_ID: tb-coap-transport
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-coap-transport.env
volumes:
- ./tb-transports/coap/conf:/config
- ./tb-transports/coap/log:/var/log/tb-coap-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
Develop/lwm2m (#3826) * LwM2M - Start transport * LwM2M - Test endpoint * LwM2M - Test endpoint * LwM2M - Test add xml * LwM2M device registration * LwM2M - add get from client, add attributes and telemetry upgrade from registration client * LwM2M - add get from client, add attributes and telemetry upgrade from registration client * LwM2M implementation * LwM2M - add to service telemetry and attribute * LwM2M add to service attribute and telemetry * LwM2M - add LWM2M_CREDENTIALS to DeviceCredentialsType * LwM2M - add LWM2M_CREDENTIALS to DeviceCredentialsType * LwM2M - add transport.process * LwM2M - delete from yml tenantid, PSK -ok * LwM2M - yml del tenantId * LwM2M - add RPK * LwM2M - add connect only x509 certificate. Crate certificates in serverKeyStore.jks and clientKeyStore.jks * LwM2M - add no_sec * LwM2M - add RPK & PSK integration test with app Client * LwM2M - add RPK & PSK integration test with app Client * LwM2M - add read JKS from file * LwM2M - add read JKS from file * LwM2M - add bootstrap cert * LwM2M - add bootstrap RPK * LwM2M - add bootstrap No_sec * LwM2M - cleaned the code * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - fix bug CoAP transport * LwM2M: UI - add Json to credentials * LwM2M: Back - add command "/3/0/5" - trigger client * LwM2M: fix bug Json edit dialog * LwM2M: fix bug Json edit dialog * lwm2m: fix bug Json edit dialog: add validate * lwm2m: UI add tabs * lwm2m: UI add tabs (cleaner) * lwm2m: add interface SecurityConfigModels * lwm2m: add interface SecurityConfigModels2 * lwm2m: change html * lwm2m: UI add bootstrap component * lwm2m: UI add bootstrap component with FormControl * lwm2m: UI add start Observe * lwm2m: UI - correct * lwm2m: UI - correct * lwm2m: UI - add Validator: BS RPK, X509 * lwm2m: UI - add Observe * lwm2m: UI - finish Observe * lwm2m: UI - fix bug config-service update identity * lwm2m: Bootstarp&Sewrver All config secure * lwm2m: Bootstarp&Sewrver All config secure for new Front format * lwm2m: Bootstarp&Sewrver Different config secure for new Front format * lwm2m: Add attributes Gui and Backend * lwm2m: Add attributes Gui and Backend final * lwm2m: Add telemetrys to Gui * lwm2m: Add Attribute & telemetry in Gui to instance * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry for mobile * lwm2m: Model folder * lwm2m: Ok on AWS: NoSec, PSK, X509 bad registration - RPK * lwm2m: KeyStore start only one * lwm2m: Server observe ok * lwm2m: Server fix bug finish session without remove * lwm2m: Server add function installValue * lwm2m: Server add function getAttrTelemetry to tingsboard * lwm2m: Server add function installValue * lwm2m: Server add function update Telemetry, Attr from observe * lwm2m: Server add comments * lwm2m: Server add session listener * lwm2m: Server add onGetChangeCredentials with analyze * lwm2m: Server add onGetChangeCredentials with analyze Onserve add * lwm2m: Server: updated algorithm for analyzing dynamic changes in attributes / telemetry / observation * lwm2m: fix bug: "ngx-flowchart" compile * lwm2m: get value resource OPAQUE - byte [] to HexString * lwm2m: change path to base * lwm2m: fix bug COAP & lwm2m * Lwm2m_3_2: back: cleaner, test bootstrap-ok front: restore * Lwm2m_3_2: back: del SynchronousRegistrationListener.java * Lwm2m_3_2: front: start profile lwm2m UI * Lwm2m_3_2: front&back: add to profile lwm2m (api, getModels...) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (2) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (3) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (4) * Lwm2m_3_2: front: add update change bootstrapConfig and save to config json * Lwm2m_3_2: update after merge master * lwm2m: fix bug proto * lwm2m: fix bug in yml keyStore.jks * lwm2m: fix bug tests * lwm2m: front: add nameThingsboard * lwm2m: fix bug Autowired lwm2mContext, caseCamel * lwm2m: back-end^ start api /lwm2m/deviceProfile/bootstrap * lwm2m: back-end: add method read models from resources * lwm2m: back-end/front: add and finish api bootstrapConfig * lwm2m: back-end: add decode profile * lwm2m: back-end: add new bin in transport api * lwm2m: add microservice lwm2m and docker lwm2m. * lwm2m: add microservice lwm2m and docker lwm2m (fix bug) * lwm2m: front: start fix bug disabled resources * lwm2m: master to lwm2m merge, front add change attribute, telemetry * lwm2m: front PR * lwm2m: front add sort keyName to Json on the start * lwm2m: front add instances * lwm2m: front add/del instances FormGrp Value * lwm2m: Merge remote-tracking branch 'origin/master' into develop/lwm2m # Conflicts: # common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java # common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java # ui-ngx/src/app/modules/home/components/home-components.module.ts * lwm2m: Merge remote-tracking branch 'origin/master' into develop/lwm2m * lwm2m: Front: del sort after add/del instance * lwm2m: Front: fix bug reindex FormArray after update * Lwm2m: Front fix bug add/del instans * Lwm2m: Front finish1 profile * Lwm2m: Back add profile to ModelClient * Lwm2m: Back add form profile sent thingsboard: attr/tel/observe * Lwm2m: Back -> fix bug: serverKeyStore.jks] Unable to load KeyStore files server * Lwm2m: Back -> fix bug: onRegistered an unReg * Lwm2m: Back -> add updateProfiles * Lwm2m: Back -> add updateDevice and updateProfile dynamic * Lwm2m: Back -> error if CoapCode not access * Lwm2m: Front -> clear credential * Lwm2m: Front -> credential fix bug button "save" * Lwm2m: Back -> add telemetry logLwm2m Co-authored-by: nickAS21 <nick@avalr.com.ua>
2020-12-09 17:13:11 +02:00
tb-lwm2m-transport:
restart: always
image: "${DOCKER_REPO}/${LWM2M_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
ports:
- "5685:5685/udp"
environment:
TB_SERVICE_ID: tb-lwm2m-transport
JAVA_OPTS: "${JAVA_OPTS}"
Develop/lwm2m (#3826) * LwM2M - Start transport * LwM2M - Test endpoint * LwM2M - Test endpoint * LwM2M - Test add xml * LwM2M device registration * LwM2M - add get from client, add attributes and telemetry upgrade from registration client * LwM2M - add get from client, add attributes and telemetry upgrade from registration client * LwM2M implementation * LwM2M - add to service telemetry and attribute * LwM2M add to service attribute and telemetry * LwM2M - add LWM2M_CREDENTIALS to DeviceCredentialsType * LwM2M - add LWM2M_CREDENTIALS to DeviceCredentialsType * LwM2M - add transport.process * LwM2M - delete from yml tenantid, PSK -ok * LwM2M - yml del tenantId * LwM2M - add RPK * LwM2M - add connect only x509 certificate. Crate certificates in serverKeyStore.jks and clientKeyStore.jks * LwM2M - add no_sec * LwM2M - add RPK & PSK integration test with app Client * LwM2M - add RPK & PSK integration test with app Client * LwM2M - add read JKS from file * LwM2M - add read JKS from file * LwM2M - add bootstrap cert * LwM2M - add bootstrap RPK * LwM2M - add bootstrap No_sec * LwM2M - cleaned the code * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - add to 3.0 in UI credentials lwm2m * LwM2M - fix bug CoAP transport * LwM2M: UI - add Json to credentials * LwM2M: Back - add command "/3/0/5" - trigger client * LwM2M: fix bug Json edit dialog * LwM2M: fix bug Json edit dialog * lwm2m: fix bug Json edit dialog: add validate * lwm2m: UI add tabs * lwm2m: UI add tabs (cleaner) * lwm2m: add interface SecurityConfigModels * lwm2m: add interface SecurityConfigModels2 * lwm2m: change html * lwm2m: UI add bootstrap component * lwm2m: UI add bootstrap component with FormControl * lwm2m: UI add start Observe * lwm2m: UI - correct * lwm2m: UI - correct * lwm2m: UI - add Validator: BS RPK, X509 * lwm2m: UI - add Observe * lwm2m: UI - finish Observe * lwm2m: UI - fix bug config-service update identity * lwm2m: Bootstarp&Sewrver All config secure * lwm2m: Bootstarp&Sewrver All config secure for new Front format * lwm2m: Bootstarp&Sewrver Different config secure for new Front format * lwm2m: Add attributes Gui and Backend * lwm2m: Add attributes Gui and Backend final * lwm2m: Add telemetrys to Gui * lwm2m: Add Attribute & telemetry in Gui to instance * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry * lwm2m: Optimize Attr/Telemetry for mobile * lwm2m: Model folder * lwm2m: Ok on AWS: NoSec, PSK, X509 bad registration - RPK * lwm2m: KeyStore start only one * lwm2m: Server observe ok * lwm2m: Server fix bug finish session without remove * lwm2m: Server add function installValue * lwm2m: Server add function getAttrTelemetry to tingsboard * lwm2m: Server add function installValue * lwm2m: Server add function update Telemetry, Attr from observe * lwm2m: Server add comments * lwm2m: Server add session listener * lwm2m: Server add onGetChangeCredentials with analyze * lwm2m: Server add onGetChangeCredentials with analyze Onserve add * lwm2m: Server: updated algorithm for analyzing dynamic changes in attributes / telemetry / observation * lwm2m: fix bug: "ngx-flowchart" compile * lwm2m: get value resource OPAQUE - byte [] to HexString * lwm2m: change path to base * lwm2m: fix bug COAP & lwm2m * Lwm2m_3_2: back: cleaner, test bootstrap-ok front: restore * Lwm2m_3_2: back: del SynchronousRegistrationListener.java * Lwm2m_3_2: front: start profile lwm2m UI * Lwm2m_3_2: front&back: add to profile lwm2m (api, getModels...) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (2) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (3) * Lwm2m_3_2: back: fix bug from commented front: add update change observe/attribute/telemetry to config json (4) * Lwm2m_3_2: front: add update change bootstrapConfig and save to config json * Lwm2m_3_2: update after merge master * lwm2m: fix bug proto * lwm2m: fix bug in yml keyStore.jks * lwm2m: fix bug tests * lwm2m: front: add nameThingsboard * lwm2m: fix bug Autowired lwm2mContext, caseCamel * lwm2m: back-end^ start api /lwm2m/deviceProfile/bootstrap * lwm2m: back-end: add method read models from resources * lwm2m: back-end/front: add and finish api bootstrapConfig * lwm2m: back-end: add decode profile * lwm2m: back-end: add new bin in transport api * lwm2m: add microservice lwm2m and docker lwm2m. * lwm2m: add microservice lwm2m and docker lwm2m (fix bug) * lwm2m: front: start fix bug disabled resources * lwm2m: master to lwm2m merge, front add change attribute, telemetry * lwm2m: front PR * lwm2m: front add sort keyName to Json on the start * lwm2m: front add instances * lwm2m: front add/del instances FormGrp Value * lwm2m: Merge remote-tracking branch 'origin/master' into develop/lwm2m # Conflicts: # common/transport/mqtt/src/main/java/org/thingsboard/server/transport/mqtt/MqttTransportHandler.java # common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/SessionMsgListener.java # ui-ngx/src/app/modules/home/components/home-components.module.ts * lwm2m: Merge remote-tracking branch 'origin/master' into develop/lwm2m * lwm2m: Front: del sort after add/del instance * lwm2m: Front: fix bug reindex FormArray after update * Lwm2m: Front fix bug add/del instans * Lwm2m: Front finish1 profile * Lwm2m: Back add profile to ModelClient * Lwm2m: Back add form profile sent thingsboard: attr/tel/observe * Lwm2m: Back -> fix bug: serverKeyStore.jks] Unable to load KeyStore files server * Lwm2m: Back -> fix bug: onRegistered an unReg * Lwm2m: Back -> add updateProfiles * Lwm2m: Back -> add updateDevice and updateProfile dynamic * Lwm2m: Back -> error if CoapCode not access * Lwm2m: Front -> clear credential * Lwm2m: Front -> credential fix bug button "save" * Lwm2m: Back -> add telemetry logLwm2m Co-authored-by: nickAS21 <nick@avalr.com.ua>
2020-12-09 17:13:11 +02:00
env_file:
- tb-lwm2m-transport.env
volumes:
- ./tb-transports/lwm2m/conf:/config
- ./tb-transports/lwm2m/log:/var/log/tb-lwm2m-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-snmp-transport:
restart: always
image: "${DOCKER_REPO}/${SNMP_TRANSPORT_DOCKER_NAME}:${TB_VERSION}"
environment:
TB_SERVICE_ID: tb-snmp-transport
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-snmp-transport.env
volumes:
- ./tb-transports/snmp/conf:/config
- ./tb-transports/snmp/log:/var/log/tb-snmp-transport
depends_on:
- zookeeper
2022-04-11 11:03:14 +02:00
- tb-core1
- tb-core2
tb-web-ui1:
restart: always
image: "${DOCKER_REPO}/${WEB_UI_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
env_file:
- tb-web-ui.env
tb-web-ui2:
restart: always
image: "${DOCKER_REPO}/${WEB_UI_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8080"
env_file:
- tb-web-ui.env
tb-vc-executor1:
restart: always
image: "${DOCKER_REPO}/${TB_VC_EXECUTOR_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8081"
environment:
TB_SERVICE_ID: tb-vc-executor1
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-vc-executor.env
volumes:
- ./tb-vc-executor/conf:/config
- ./tb-vc-executor/log:/var/log/tb-vc-executor
depends_on:
- zookeeper
- tb-core1
- tb-core2
tb-vc-executor2:
restart: always
image: "${DOCKER_REPO}/${TB_VC_EXECUTOR_DOCKER_NAME}:${TB_VERSION}"
ports:
- "8081"
environment:
TB_SERVICE_ID: tb-vc-executor2
JAVA_OPTS: "${JAVA_OPTS}"
env_file:
- tb-vc-executor.env
volumes:
- ./tb-vc-executor/conf:/config
- ./tb-vc-executor/log:/var/log/tb-vc-executor
depends_on:
- zookeeper
- tb-core1
- tb-core2
haproxy:
restart: always
2018-10-31 19:23:00 +02:00
container_name: "${LOAD_BALANCER_NAME}"
image: thingsboard/haproxy-certbot:1.3.0
volumes:
- ./haproxy/config:/config
- ./haproxy/letsencrypt:/etc/letsencrypt
- ./haproxy/certs.d:/usr/local/etc/haproxy/certs.d
ports:
- "80:80"
- "443:443"
- "1883:1883"
- "7070:7070"
- "9999:9999"
cap_add:
- NET_ADMIN
environment:
HTTP_PORT: 80
HTTPS_PORT: 443
MQTT_PORT: 1883
EDGES_RPC_PORT: 7070
FORCE_HTTPS_REDIRECT: "false"
links:
2020-04-24 14:54:25 +03:00
- tb-core1
- tb-core2
- tb-web-ui1
- tb-web-ui2
- tb-mqtt-transport1
- tb-mqtt-transport2
- tb-http-transport1
- tb-http-transport2