Can't remote connect to marionette server on port 2828. Error connection refused

I have developed a data-mining web-extension that I would like to install remotely by my marionette-client app. I’ve successfully tested the client addon install process in my localhost environment. Also my goal is to deploy my custom docker-firefox image in a remote container, running marionette server on startup using the firefox binary --marionette flag. I’ve successfully tested this locally in a single container which hosts firefox, marionette server and my marionette client app. However, when I try running my client app in a 2nd container using a dedicated docker network to which each container joins on startup, the marionette client which is a golang binary fails to open a tcp socket reporting : connection refused. I’ve successfully pinged the firefox container inside the client container, proving that the docker network is working ok. I also inspected the firefox container status by docker exec. Running ps showed the firefox process group is executed by a dedicated user called ‘app’ with 1000:1000 id specs. I replicated this user spec in my client image but still got the same error. Thinking there must be a firefox config item that blocks remote connections, I browsed the containerized firefox gui running in my host firefox browser at localhost:5800 (image source => github.com/jlesage/docker-firefox) and searched for any config item including the word ‘remote’. Nothing super obvious stood out. I turned off browser.safebrowsing.downloads.remote.* but no luck. Any advice and help is appreciated

Fixed this by building a golang marionette driver proxy that runs in the same container as marionette server and listens for driver clients on port 2929. It works in a “passthrough” style only testing if the command is Addon:Install. In this case the client is sending a base63 encoded addon byte array which is output to a zipfile locally on the container. Then the proxy creates a new Addon:Install command, sending the local zipfile path as an argument to the server running locally on port 2828. Works great !!

Typo edit : the client is sending a base64 encoded byte array