Introduction
The Xentara Inspector is a web app for looking inside a running Xentara from your browser. It shows the element tree of your model, the live value and quality of every data point, and when each value was last updated and changed. Writable data points can be changed directly from the browser.
It is delivered as a Docker image with its own web server. You start the container, open it in your browser and log in with a Xentara user. Your Xentara model needs no changes.
Before you start
- Xentara 2.1 with the WebSocket interface enabled. By default it listens on port 19670.
- A username and password of Xentara.
- Docker: Docker Engine with the Compose plugin on Linux, or Docker Desktop on Windows.
- A recent browser: Chrome, Edge or Firefox.
Run the Inspector on the same machine as Xentara. The Inspector looks for Xentara on the machine it was loaded from, on port 19670. If Xentara runs on a Linux machine, install the Inspector there and only use the browser on your Windows PC.
What is in the image
- The ready-built Xentara Inspector web app.
- An nginx web server that only serves the web app. Live data goes directly from the browser to Xentara, not through the container.
- Builds for linux/amd64 and linux/arm64. Docker picks the right one automatically.
Part A - Install on Linux
Step 1 - Start Xentara first
Xentara must be running before you start or open the Inspector. If it is not, the login fails with Could not connect to Xentara. Check that Xentara is listening:
sudo ss -ltnp | grep :19670
You should see a line similar to this:
LISTEN 0 512 *:19670 *:* users:(("xentara",pid=609597,fd=15))
No output means Xentara is not running. Start it, then check again. The port is set in under ~/.config/xentara/config.json under httpServer.port; without an entry, Xentara uses 19670.
Step 2 - Create the compose file
Create a folder for the Inspector and switch into it. All later commands are run from this folder.
mkdir -p ~/xentara-inspector && cd ~/xentara-inspector
Create the file docker-compose.yml. It tells Docker which image to run (xentara/xentara-inspector:1.0), what to name the container, to restart it automatically after a reboot, and to make the Inspector available on port 8090.
cat > docker-compose.yml <<'EOF'
services:
inspector:
image: xentara/xentara-inspector:1.0
container_name: xentara-inspector
restart: unless-stopped
ports:
- "8090:8080"
EOF
Step 3 - Download and start the Inspector
Download the Inspector image from Docker Hub. Docker picks the right version for your CPU automatically.
sudo docker compose pull
Start the Inspector in the background. -d returns you to the prompt while the container keeps running.
sudo docker compose up -d
After about 30 seconds, check that the container is running. The xentara-inspector row should show Up (healthy) and 0.0.0.0:8090->8080/tcp.
sudo docker ps
Check that the Inspector website answers. The first line of the response should be HTTP/1.1 200 OK.
curl -I http://localhost:8090
Note: Run all docker compose commands inside ~/xentara-inspector, otherwise Docker reports no configuration file provided. The Inspector starts again automatically after a reboot.
Step 4 - Open the firewall (only if you use a firewall)
Other computers must reach both ports: 8090 for the website and 19670 for live data. With ufw:
sudo ufw allow 8090
sudo ufw allow 19670
Part B - Install on Windows
Step 1 - Start Xentara first
Xentara must be running on this Windows machine before you start or open the Inspector, otherwise the login fails with Could not connect to Xentara. Check in PowerShell:
Get-NetTCPConnection -LocalPort 19670 -State Listen
A result line means Xentara is listening. An error or empty output means it is not running.
Step 2 - Install and start Docker Desktop
Install Docker Desktop from docker.com and start it. Wait until it shows Engine running. In Settings → General, turn on Start Docker Desktop when you sign in, so the Inspector also starts after a reboot.
Step 3 - Create the Compose File
Open PowerShell (Start menu → type PowerShell). Create a folder for the Inspector in your user folder and switch into it. All later commands are run from this folder.
mkdir $HOME\xentara-inspector
cd $HOME\xentara-inspector
Create the file docker-compose.yml. It tells Docker which image to run (xentara/xentara-inspector:1.0), what to name the container, to restart it automatically when Docker Desktop starts, and to make the Inspector available on port 8090. Copy the whole block, from @' to docker-compose.yml, and paste it in one go.
@'
services:
inspector:
image: xentara/xentara-inspector:1.0
container_name: xentara-inspector
restart: unless-stopped
ports:
- "8090:8080"
'@ | Set-Content -Encoding utf8 docker-compose.yml
To check that the file was created:
Get-Content docker-compose.yml
Step 4 - Download and start the Inspector
Make sure Docker Desktop is running ("Engine running").
Download the Inspector image from Docker Hub. Docker picks the right version for your CPU automatically.
docker compose pull
Start the Inspector in the background. -d returns you to the prompt while the container keeps running.
docker compose up -d
After about 30 seconds, check that the container is running. The xentara-inspector row should show Up (healthy) and 0.0.0.0:8090->8080/tcp. You can also see it under Containers in Docker Desktop.
docker ps
Check that the Inspector website answers. The first line of the response should be HTTP/1.1 200 OK. In PowerShell, type curl.exe; plain curl is a different PowerShell command and gives a confusing error.
curl.exe -I http://localhost:8090
Step 5 - Allow network access
If Windows Firewall asks, allow access so other PCs can reach ports 8090 and 19670.
Part C - First Login (Linux and Windows)
Step 1 - Open the Inspector
Open http://<MACHINE-IP>:8090 in your browser. On the machine itself, http://localhost:8090 also works. Find the IP with hostname -I on Linux or ipconfig on Windows.

Step 2 - Trust the Xentara certificate (once per browser)
Xentara uses a self-signed certificate. Until your browser trusts it, the first login shows Could not connect to Xentara with a short checklist.
- Click Open certificate page. A new tab opens.

- The browser shows Your connection is not private. Click Advanced, then Proceed.

- You land on the Welcome to Xentara page, which shows the Xentara version. The certificate is now trusted.

- Close the tab, go back to the Inspector and click Reconnect.

Step 3 - Sign in
Or enter your Xentara username and password and click Sign in. The Inspector loads your model into the sidebar. To log out earlier, open the user menu at the top right and click Logout.

Part D - Using the Inspector
Browse the model
The sidebar on the left shows the elements of your model. Click an element to open it, click again to expand its children. The number next to an element is its number of children. The top of each page shows the element’s full name, type and UUID, with copy buttons. Click the connection bar at the top to see the logged-in user and the model file.

Watch Live Values
Open a data point. Its card shows:
- Value, updated live while the card is open.
- Quality as a coloured badge: Good, Acceptable, Unreliable or Bad.
- Update Time and Change Time of the value.
- Additional Attributes further down, with their data types.
Write a Value
Writable data points show a pen icon next to the value. Click it, type the new value and confirm with the check mark or Enter. For true/false values you get two buttons instead. Read-only data points have no pen icon.

If something does not work
Start with docker logs xentara-inspector (with sudo on Linux).
What you see |
What to do |
| Could not connect to Xentara | Xentara is not running, or the certificate is not trusted. Start Xentara first (Part A/B, Step 1), then do Part C, Step 2. |
| Wrong username or password | Xentara was reached but rejected the login. Check the users configured in Xentara. |
| Works on the machine, not from another PC | A firewall blocks 8090 or 19670. Open both ports (Part A Step 4 / Part B Step 5). |
| Login fails, browser console shows a CORS error | Xentara restricts which addresses may connect. Add the Inspector address, e.g. http://<MACHINE-IP>:8090, to allowedOrigins in the Xentara config and restart Xentara. |
| Red “Connection to Xentara lost” bar | Xentara stopped or restarted. The Inspector reconnects on its own when Xentara is back. |
| port is already allocated | Port 8090 is in use. Change only the left number, e.g. "9090:8080", and run docker compose up -d. |
| no configuration file provided | Run the command inside the folder with docker-compose.yml. |
| Status stays (unhealthy) | Check the logs, then docker compose restart. |
Still stuck? Send the output of docker logs xentara-inspector to support@xentara.io.