-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PyLSL in Docker #44
Comments
I'm afraid there's a bit more needed, unless you play around with the lab.KnownPeers configuration variable. |
I am running pylsl inside of a container which exposed the following ports, "16571-16604:16571-16604", however I am unable to resolve_stream(), e.g. the application does not detect the stream of data whne I do "Start LSL Stream" from the OpenBCI GUI. Could you clarify if I should expose other additional ports ? Which port does the OpenBCI GUI uses when connecting the LSL stream ? Does resolve_stream() only considers ports between 16571-16604 to establish the TCP connection ? |
Hi @mlej8 did u try ti configure the container with network_mode: host and privileged runtime capabilities? With those two enabled you won't need to expose any ports because you'll share the host network resources and devices. https://docs.docker.com/network/network-tutorial-host/ https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities |
Hi @ddetommaso , thank you for your response, yes I tried running the container using the host's network with priviledged mode, but I still couldn't resolve_stream() using the OpenBCI_GUI Networking Test Kit LSL lslStreamTest.py. Have you tried and it worked? |
Hi @mlej8 I don't have a specific experience with OpenBCI but I have with integrating LSL in dockers. Using the aforementioned options you should be able to use the same network capabilities of your host machine, so maybe the issue it's of a different kind (GUI issue?). Enabling detailed debug info inside your application we can investigate more. |
@ddetommaso, I am trying to run the following script: https://github.com/OpenBCI/OpenBCI_GUI/blob/master/Networking-Test-Kit/LSL/lslStreamTest.py inside of a docker container with |
@mlej8 could u please detail more your experimental setup? Specifically, if the docker container it's running on Windows on the same machine of the server or on a different operating system. Did u try to access the low-level API of OpenBCI from the docker container? |
The docker container is ran using Docker Desktop for Windows on WSL 2. The container is running on my machine (on WSL 2). The OpenBUI GUI is also opened on my machine. I have not tried the low-level API of OpenBCI, could you point me to the repo where I can find it ? |
Hi @mlej8 I don't have experience with WSL so I might be wrong but a few tests could make the situation clearer. The following command should tell you if multicast is enabled for your interface and the specific address For testing if you are able to receive multicast packets you can combine the commands |
It's not about the ports, it's about multicast packets. Basically, the outlet listens for stream resolution packets sent to a multicast group and replies with it's connection details to the sender. Docker doesn't receive these packets properly, so streams in a docker container can't be found. |
But shouldn't this be solved by setting |
@cboulay asked me to share my experience with a possibly-related issue |
Hi, I'd like to run PyLSL to Docker, I was wondering which port of my container I should expose to get the data from the OpenBCI GUI ? Usually pylsl uses which port to establish the TCP connection ?
The text was updated successfully, but these errors were encountered: