Discover MoveIt Pro Deployments on a Network
MoveIt Pro's discovery server lists the default deployment and named instances on a computer. The MoveIt Pro desktop app can save connections to multiple Runtimes on one or more computers and switch between them.
How discovery works
Every computer that runs moveit_pro run starts a small instance discovery server on port 3204. It advertises that endpoint on the local network with DNS-SD and answers GET http://<host>:3204/instances with the default deployment and every recorded named instance. Each entry includes its name, Runtime service ports, and running state.
The same port lets the desktop app retrieve the selected Runtime's public TLS certificate. The app uses the frontend key to confirm that the certificate belongs to the expected deployment before sharing the key with the Runtime. The discovery service never returns or exposes the frontend key.
Query a host directly to inspect its deployments:
curl http://<host>:3204/instances
Manage the server explicitly when needed:
moveit_pro discovery status
moveit_pro discovery up
moveit_pro discovery down
Pass --no-discovery to moveit_pro run to skip starting it.
The instance list is unauthenticated and reveals deployment names, ports, and running state. The pairing response exposes only a public certificate and is authenticated before the desktop trusts it. Expose port 3204 only on trusted networks. DNS-SD advertisement starts automatically when mDNS is available; it finds unsaved Runtime computers, while the desktop app continues checking the local computer and saved hosts directly when multicast is unavailable. On firewalld-based systems (Fedora, RHEL), allow the required discovery endpoint and mDNS browsing with:
sudo firewall-cmd --permanent --add-port=3204/tcp
# Automatically find unsaved Runtime computers on the local network.
sudo firewall-cmd --permanent --add-service=mdns
sudo firewall-cmd --reload
Connecting from the desktop app
Start the desktop app and select a discovered Runtime, or select Add Connection and enter the Runtime computer's hostname or IP address. The app discovers advertised Runtime computers on the local network and always queries the local computer and saved hosts on port 3204, so those Runtimes stay listed when multicast discovery is blocked.
A saved connection can also include an optional Alternate remote address. This is useful when local discovery returns a hostname that does not work over your VPN, overlay network, or other remote route. You can instead enter the remote hostname or IP address as the primary address if that is the route you normally use. When both are configured, the app prefers the primary address and uses the alternate only while the primary is unavailable. Both must lead to the same Runtime.
Each saved connection includes its primary address, optional alternate address,
and service ports for one Runtime computer. HTTPS and the standard ports are
selected by default. Only change the advanced Web bridge, video signaling,
WebRTC media, and terminal ports for a nonstandard deployment. The default
deployment uses WebRTC media port 3203 and terminal port 3205.
Enter the Runtime's active frontend key. Run moveit_pro frontend-key on the
Runtime computer to display it. The desktop app stores the key in the operating
system credential store and does not display it again. To replace the key, run
moveit_pro configure --rotate-frontend-key, restart the Runtime, and update the
saved connection.
When the desktop app and Runtime run under the same operating-system account,
moveit_pro run registers the local Runtime through an owner-only local socket.
The desktop app can then save that Runtime's key directly to that account's
protected credential store. The key is never included in network discovery.
Another operating-system account must enter the key explicitly; the shared
frontend key is not a multi-user authorization mechanism.
The desktop app reserves loopback ports 61000–61031 for stable per-window
origins and durable UI preferences. Named-instance port overrides must not use
that range; move an existing override outside it before upgrading.
After connecting, open the settings menu and select Connections to return to the connection selector. If the active Runtime becomes unavailable, the desktop app keeps the interface open while it reconnects; select Choose Another Runtime to return to the selector instead. See Connect with the MoveIt Pro Desktop App for the complete workflow.