From e60d7131792466c3ff56fcfce5e15dff85be2948 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 8 Jul 2026 01:55:38 -0600 Subject: [PATCH] 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 '