This month was relatively calm, with fewer events.
David and I are working on adding Docker support. Most of the core work is done, but now we’re refining several parts of the existing functionality within the BOINC client to ensure compatibility with the new type of applications. A major advantage of Docker support, combined with WSL, is that it simplifies the infrastructure significantly. This makes things easier for project developers, as they no longer need to create separate applications for different operating systems. Although Android will still require a dedicated application, having a unified solution for desktop OSs is a significant step forward for BOINC. This also means projects can potentially drop VirtualBox support in favor of Docker, which is simpler and more flexible.
For more details about Docker and WSL, please refer to the following resources:
- https://github.com/BOINC/boinc/wiki/Docker
- https://github.com/BOINC/boinc/wiki/WSL-wrapper
- https://github.com/BOINC/boinc/wiki/Docker-app-implementation
- https://github.com/BOINC/boinc/wiki/Docker-apps
- https://github.com/BOINC/boinc/wiki/Docker-design-alternatives
With Docker support, we can also run applications that were previously unsupported, which is very important for expanding BOINC’s functionality.
This year, I attended the GCB conference in Bielefeld, Germany, where I spoke with several scientists. While they were generally interested in BOINC, their first question was whether it could run Docker containers—a crucial capability for them. Most of their applications are written in Python and require additional packages to be installed on the system. Given BOINC's current architecture, distributing workloads across hosts is challenging. Additionally, many potential users interested in BOINC lack the time and expertise to set up their own project servers or configure applications correctly.
Our responsibility as BOINC maintainers is to simplify this process as much as possible and remove as many barriers as we can. Docker can be a significant help here, as it allows users to configure their environment once, which BOINC can then replicate automatically. While a project server is still required, we aim to use BOINC Central for smaller research projects, providing access for scientists who may not have the resources or skills to create their own server.