From a7f3a74982f34a3c305074c374c4fd6a9bd31d40 Mon Sep 17 00:00:00 2001 From: BinkyTwin Date: Wed, 20 May 2026 22:00:58 +0200 Subject: [PATCH 1/3] feat: add ThingsBoard template --- blueprints/thingsboard/docker-compose.yml | 78 +++++++++++++++++++++++ blueprints/thingsboard/template.toml | 43 +++++++++++++ blueprints/thingsboard/thingsboard.svg | 3 + meta.json | 18 ++++++ 4 files changed, 142 insertions(+) create mode 100644 blueprints/thingsboard/docker-compose.yml create mode 100644 blueprints/thingsboard/template.toml create mode 100644 blueprints/thingsboard/thingsboard.svg diff --git a/blueprints/thingsboard/docker-compose.yml b/blueprints/thingsboard/docker-compose.yml new file mode 100644 index 00000000..8be39b8b --- /dev/null +++ b/blueprints/thingsboard/docker-compose.yml @@ -0,0 +1,78 @@ +version: "3.8" + +services: + thingsboard: + image: thingsboard/tb-node:4.3.1.1 + restart: unless-stopped + depends_on: + thingsboard-db: + condition: service_healthy + thingsboard-init: + condition: service_completed_successfully + expose: + - "8080" + environment: + TB_SERVICE_ID: tb-ce-node + TB_QUEUE_TYPE: in-memory + JAVA_OPTS: ${JAVA_OPTS} + SPRING_DATASOURCE_URL: jdbc:postgresql://thingsboard-db:5432/${POSTGRES_DB} + SPRING_DATASOURCE_USERNAME: ${POSTGRES_USER} + SPRING_DATASOURCE_PASSWORD: ${POSTGRES_PASSWORD} + SECURITY_CORS_ALLOWED_ORIGINS: ${SECURITY_CORS_ALLOWED_ORIGINS} + volumes: + - thingsboard-logs:/var/log/thingsboard + healthcheck: + test: ["CMD-SHELL", "timeout 5 bash -c ' + + diff --git a/meta.json b/meta.json index 8be7825d..4e25e8a0 100644 --- a/meta.json +++ b/meta.json @@ -6094,6 +6094,24 @@ "nocode" ] }, + { + "id": "thingsboard", + "name": "ThingsBoard", + "version": "4.3.1.1", + "description": "ThingsBoard is an open-source IoT platform for device management, data collection, processing, visualization, and automation.", + "logo": "thingsboard.svg", + "links": { + "github": "https://github.com/thingsboard/thingsboard", + "website": "https://thingsboard.io/", + "docs": "https://thingsboard.io/docs/" + }, + "tags": [ + "iot", + "device-management", + "monitoring", + "visualization" + ] + }, { "id": "tianji", "name": "Tianji", From 30cad7b34786f20b0d42cadeed2179b67d83105f Mon Sep 17 00:00:00 2001 From: BinkyTwin Date: Wed, 20 May 2026 22:20:50 +0200 Subject: [PATCH 2/3] fix: align ThingsBoard init queue type --- blueprints/thingsboard/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/blueprints/thingsboard/docker-compose.yml b/blueprints/thingsboard/docker-compose.yml index 8be39b8b..fdb39c7f 100644 --- a/blueprints/thingsboard/docker-compose.yml +++ b/blueprints/thingsboard/docker-compose.yml @@ -47,6 +47,7 @@ services: touch /data/.thingsboard-installed environment: TB_SERVICE_ID: tb-ce-node + TB_QUEUE_TYPE: in-memory JAVA_OPTS: ${JAVA_OPTS} LOAD_DEMO: ${LOAD_DEMO} SPRING_DATASOURCE_URL: jdbc:postgresql://thingsboard-db:5432/${POSTGRES_DB} From e60d7131792466c3ff56fcfce5e15dff85be2948 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 8 Jul 2026 01:55:38 -0600 Subject: [PATCH 3/3] fix: run init container as root so the install marker can be written The tb-node image runs as the non-root "thingsboard" user (uid 799), but the freshly created /data named volume is owned by root, so "touch /data/.thingsboard-installed" failed with permission denied after every successful install. Combined with "set -e" and "restart: on-failure", the init container kept re-running the installer forever and the main thingsboard service (gated on service_completed_successfully) never started, leaving the domain returning 404. Running the init service as root lets the marker be written so the init completes and stays idempotent across redeploys. Also widened the main service healthcheck start window (start_period 300s, retries 10) so the slow first boot on modest VPS hardware is not marked unhealthy while docker compose up --wait is in progress. Co-Authored-By: Claude Fable 5 --- blueprints/thingsboard/docker-compose.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/blueprints/thingsboard/docker-compose.yml b/blueprints/thingsboard/docker-compose.yml index fdb39c7f..69991399 100644 --- a/blueprints/thingsboard/docker-compose.yml +++ b/blueprints/thingsboard/docker-compose.yml @@ -25,12 +25,15 @@ services: test: ["CMD-SHELL", "timeout 5 bash -c '