Skip to main content
Version: 10

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.

Required Version
This feature will not be released until MoveIt Pro version 10.0.

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.

Restrict discovery access

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 6100061031 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.