noVNC LAN demo

A Docker demo where URI commands control real Chromium browsers running inside virtual noVNC desktops. The browser opens inside the container, not on the host — and one flow drives several computers on the LAN through one shared URI contract.

Source: if-uri/examples/11-novnc_lan_flow

What runs

Optional pc3 and pc4 services start behind the Compose profile full.

Run

make up

Open the dashboard and the noVNC desktops:

Dashboard: http://127.0.0.1:8192/?pc1NovncPort=7901&pc2NovncPort=7902&pc1ApiPort=9001&pc2ApiPort=9002
pc1 noVNC: http://127.0.0.1:7901/?autoconnect=1&resize=scale
pc2 noVNC: http://127.0.0.1:7902/?autoconnect=1&resize=scale

If these ports are busy, run the same demo on another set — the dashboard accepts port overrides in the query string:

DASHBOARD_PORT=18192 \
PC1_NOVNC_PORT=17901 PC2_NOVNC_PORT=17902 \
PC1_API_PORT=19001 PC2_API_PORT=19002 \
make up

The URI flow

make flow

The basic flow opens pages and captures screenshots through these URI commands:

browser://pc1/page/command/open
browser://pc1/page/command/screenshot
browser://pc2/page/command/open
browser://pc2/page/command/screenshot
log://pc1/session/command/write
log://pc2/session/query/recent

Every computer is just another node on the ifuri:// network — the same action address works locally and remotely, and the audit log records the envelope, payload, status, time and source of every call.

More examples (Docker, transports, MCP/A2A) live in the if-uri/examples repo and the if-uri/urirun runtime.