We created official Docker Image which you can download from DockerHub.

What is Docker?

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating system kernel and therefore use fewer resources than virtual machines.

Why do we use it?

Docker provides predefined environmnet for the users, using Docker container we can provide precompiled and optimized libraries, also we can preinstall all BrainFlow bindings in single container. In such environment we can be sure that compiled native libraries will work even if we link some dependencies dynamically or need to install system packages.

What is inside this container?

All BrainFlow bindings except Matlab.

Also, there are other packages for BCI research and development:

  • mne
  • pyriemann
  • scipy
  • matplotlib
  • jupyter
  • pandas
  • etc

Base Image is Ubuntu 20.04

How to use it?

If your devices uses TCP\IP to send data, you need to run docker container with --network host. For serial port connection you need to pass serial port to docker using --device %your port here%.

Example:

# pull container from DockerHub
docker pull brainflow/brainflow:3.7.2
# run docker container with serial port /dev/ttyUSB0
docker run -it --device /dev/ttyUSB0 brainflow/brainflow:3.7.2 /bin/bash
# run docker container for boards which use networking
docker run -it --network host brainflow/brainflow:3.7.2 /bin/bash

More information can be found here.