Troubleshooting#
Scene Import Fails with No JSON found in scenes/*.zip#
Either the Git LFS extension is not installed, or git lfs pull did not run,
so the scene bundle is still a small LFS pointer file instead of the real binary.
Confirm that scenes/Showcase.zip is an actual scene archive or only a Git LFS pointer, then fix it:
$ file scenes/Showcase.zip
scenes/Showcase.zip: ASCII text # should be "Zip archive data", not text
$ head -c 60 scenes/Showcase.zip
version https://git-lfs.github.com/spec/v1 # confirms it's an LFS pointer
$ sudo apt install git-lfs
$ git lfs install
$ git lfs pull
$ file scenes/Showcase.zip
scenes/Showcase.zip: Zip archive data, at least v2.0 to extract # fixed
Then rerun:
./setup.sh
setup.sh Succeeds But SCENESCAPE_UI_URL or DASHBOARD_URL is Unreachable from the Browser#
This is almost always host DNS or proxy configuration rather than a service problem.
Confirm that the stack is healthy and reachable locally:
docker compose ps
curl -k https://localhost/api/v1/database-ready
If those local checks succeed but the configured hostname in $PUBLIC_HOSTNAME is still
not reachable, verify the host DNS mapping and machine IP address.
Replace my-host.example.com with your $PUBLIC_HOSTNAME.
Replace 10.1.2.50 with your machine’s IP.
Check 1 — stale DNS. getent hosts $PUBLIC_HOSTNAME must resolve to this machine’s own IP address (compare with hostname -I):
$ getent hosts my-host.example.com
10.1.2.200 my-host.example.com # wrong — not this machine's IP
$ hostname -I
10.1.2.50 172.17.0.1 ... # this machine is actually 10.1.2.50
Fix by adding a corrected entry to /etc/hosts (needs sudo):
echo "10.1.2.50 my-host.example.com" | sudo tee -a /etc/hosts
Check 2 — request to hostname is sent to the corporate proxy instead of the Smart Building deployment.
With HTTP_PROXY and HTTPS_PROXY set, requests to $PUBLIC_HOSTNAME can still be routed through
the corporate proxy and time out with HTTP 504, even after DNS is fixed, because no_proxy lists
only the raw IP and not the hostname or domain:
$ curl -sk -o /dev/null -w "%{http_code}\n" https://my-host.example.com/api/v1/database-ready
504 # proxy can't reach the private IP
$ curl -sk --noproxy '*' -o /dev/null -w "%{http_code}\n" https://my-host.example.com/api/v1/database-ready
200 # works once the proxy is bypassed — confirms the proxy is the cause
Add the internal domain to no_proxy and NO_PROXY, for example .example.com, and check
that nothing later in ~/.bashrc or other shell startup files re-exports no_proxy or
NO_PROXY without it, because a later export no_proxy=... silently overwrites rather
than appends to an earlier one. Restart the browser afterward so it picks up the change.