We are running Edge Panel in a Docker container. Edge is supposed to have one Vision client launchable locally and one Vision client launchable remotely according to license. However, we can only get it to launch one client.
After the first client is launched "locally", we get the error "Unable to log in, too many clients running" on the next remote client that is launched. I initially thought it was due to how Docker uses bridged networks by default and the container actually seemed like a completely different network host and thus all clients would be consider "remote" and only allow 1.
So I changed it the "network_mode" to "host" in the docker-compose.yml file. We then launched the Vision client from the Ubuntu Desktop gui on the host computer that's running Docker service (pointing to Gateway http://127.0.0.1:8088) and now the Address on the Gateway Web page->Status->Overview->Vision Clients is showing it's connecting from a source address of 127.0.0.1 so the Docker host networking mode appears to be passing directly through. But we still cannot get more than 1 Vision client launched.
Does anyone know of a way to run Edge Panel on Docker and still be able to launch 1 local Vision client and 1 remote Vision client simultaneously?
services:
init-edgegateway:
image: inductiveautomation/ignition:8.1.37
entrypoint: sh -c
volumes:
# We mount this in the container as `/data` to not conflict with built-in files
# at `/usr/local/bin/ignition/data`
- ./edgegateway-data:/data
command:
# Seed the files from the image to our /data if marker file not present, skip
# if the marker file exists (and implicitly exit cleanly with status code 0)
- |
if [ ! -f /data/.ignition-seed-complete ]; then
touch /data/.ignition-seed-complete ;
cp -dpR /usr/local/bin/ignition/data/* /data/ ;
fi
edgegateway:
image: inductiveautomation/ignition:8.1.37
network_mode: host
volumes:
- ./edgegateway-data:/usr/local/bin/ignition/data
- ./modules/MQTT-Transmission-signed.modl:/usr/local/bin/ignition/user-lib/modules/MQTT-Transmission-signed.modl
- ./modules/MQTT-Engine-signed.modl:/usr/local/bin/ignition/user-lib/modules/MQTT-Engine-signed.modl
environment:
- ACCEPT_IGNITION_EULA=Y
- GATEWAY_MODULES_ENABLED=allen-bradley-drivers,modbus-driver-v2,opc-ua,vision
- IGNITION_EDITION=edge
- TZ=America/Chicago
# Use depends_on to only launch this container if our init container exits cleanly
depends_on:
init-edgegateway:
condition: service_completed_successfully
command: >
-n bgmedge-2hdpry3