WebODM cannot connect to processing node in local network

WebODM is running fine on my Ubuntu workstations. Now I try to use the second workstation as a second processing node for the main workstation.

I run webodm.sh start on workstation-1.local. I can get to the WebODM-interface on workstation-1.local:8000.
I run docker run -p 3000:3000 opendronemap/node-opendronemap on workstation-2.local. I can reach node-odm on workstation-2.local:3000.

Next I add workstation-2.local as a processing node in WebODM (port 3000). Unfortunately node workstation-2.local:3000 is shown as “seems to be offline”!

As written above, I can reach the webinterface on workstation-2.local:3000 from the machine running WebODM. Is it a docker-specific problem, or did I get something wrong?

It’s a docker specific problem. I’m not sure how to fix it, but the webodm_webapp container is unable to resolve workstation-2.local to its IP. This makes sense, since the container knows nothing about the local network of its host. Using directly the IP address is the obvious workaround (if your IPs are static), perhaps mapping /etc/hosts to the container might also work if that’s where the entries are stored.

Edit: or perhaps docker has already options to deal with this: https://docs.docker.com/v17.09/engine/userguide/networking/default_network/configure-dns/

Either way, whoever finds a solution please share it, I’m interested in it as well.