Control Center UI Links¶
A published Docker port is not enough to create a clickable Control Center card.
For VHT 1.x web apps, the running container must register its web UI with the VeeaHub ReverseProxy D-Bus service.
Required Runtime Flow¶
After the app HTTP server starts:
- Connect to the system D-Bus.
- Call
io.veea.VeeaHub.ReverseProxy.RegisterReverseProxy. - Use the returned token.
- Call
io.veea.VeeaHub.ReverseProxy.ConfigureVeeaCloudAccess. - Retry registration until D-Bus and ReverseProxy are ready.
The service card is runtime state. Re-register every time the container starts.
Minimal Method Shape¶
Register the local HTTP server:
Configure the Control Center card:
ConfigureVeeaCloudAccess(
<token-from-register>,
"ui:http",
"<display name>",
"<description>",
<access rules>
)
Use:
| Field | Value |
|---|---|
| Network | veea_cloud for Control Center-only access |
| Mode | http for a plain HTTP container service |
| Protocol | ui:http for a dashboard/UI card |
| Name | Human-readable card label |
Control Center displays ui:http as UI:HTTP.
Debug Checklist¶
If the container is running but the card is missing:
- Confirm the HTTP server is listening on the intended port.
- Confirm the Docker port is published if LAN access is expected.
- Check container logs for ReverseProxy or D-Bus errors.
- Confirm the app retries registration after startup.
- Confirm
ConfigureVeeaCloudAccessreturns success. - Confirm the service name is the expected display name.
Useful app log lines:
dashboard listening on port <port>
Registered Control Center dashboard service '<name>' on port <port>