|
Size: 4804
Comment:
|
Size: 2602
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| == Using Containers with Brainstorm == | = Containers with Brainstorm = ''Authors: Takfarinas Medani, Malte Höltershinken, and Raymundo Cassani'' |
| Line 3: | Line 4: |
| Authors: Takfarinas Medani & Malte Höltershinken | Some Brainstorm functions and plugins rely on external software that is distributed as containers (for example: ''duneuro 2026''). These containers are managed in Brainstorm as '''container''' plugins. |
| Line 5: | Line 6: |
| Some Brainstorm processes rely on external software distributed using '''containers''' (for example: ''duneuro''). Containers allow Brainstorm to run complex tools without requiring manual installation of dependencies. |
{{{#!wiki note Container plugins are not usually installed alone, their installation is commonly as a dependency for a code plugin. }}} |
| Line 9: | Line 10: |
| This page explains how to install a supported container runtime on your system. | This page explains how containers are used by Brainstorm, and how set up your system to use them. |
| Line 11: | Line 12: |
| <<TableOfContents(2,2)>> | |
| Line 12: | Line 14: |
<<TableOfContents(3)>> ---- == Containers for beginners == '''What is a container?''' |
== Introduction == |
| Line 26: | Line 19: |
| Line 30: | Line 24: |
| You do ''not'' need prior knowledge of containers to use Brainstorm. | You do ''not'' need prior knowledge of containers to use Brainstorm. {{attachment:bstContainer.jpg}} |
| Line 32: | Line 26: |
| ---- | To be able to use containers with Brainstorm it is necessary to have a supported container engine. |
| Line 34: | Line 28: |
| == Supported container runtimes == | == Container engines == Brainstorm supports the following container engines: |
| Line 36: | Line 31: |
| Brainstorm supports the following container runtimes: * '''Docker''' (recommended for most users) * '''Podman''' (Linux alternative to Docker) * '''Apptainer / Singularity''' (recommended on HPC clusters) |
* '''Docker Desktop''' (recommended for most users) * TODO '''Podman''' (Linux alternative to Docker) * TODO '''Apptainer / Singularity''' (recommended on HPC clusters) |
| Line 44: | Line 37: |
| You only need to install '''one''' of them. ---- == Which runtime should I install? == || '''Operating system''' || '''Recommended runtime''' || || Windows || Docker Desktop || || macOS || Docker Desktop || || Linux (desktop) || Docker or Podman || || Linux (HPC) || Apptainer / Singularity || ---- == Windows == |
You need to install at least '''one''' of them. |
| Line 62: | Line 41: |
| 1. Download Docker Desktop: [[https://docs.docker.com/desktop/|Docker Desktop documentation]] |
To install, be sure of follow the instructions for your OS: <<BR>> https://docs.docker.com/desktop/ |
| Line 65: | Line 44: |
| 2. During installation: * Enable '''WSL 2''' if prompted * Restart your computer if required |
|
| Line 69: | Line 45: |
| 3. Start '''Docker Desktop''' and wait until it reports that Docker is running | == Interactive management == SHOW THE GUI FOR CONTAINER PLUGINS |
| Line 71: | Line 48: |
| No additional configuration is required for Brainstorm. | == Command-line management == The calls to install or manage containers plugins are the same than for (code) plugins, see the [[https://neuroimage.usc.edu/brainstorm/Tutorials/Plugins#Command-line_management|plugin tutorial]]. |
| Line 73: | Line 51: |
| ---- | An API for low-level interaction between Brainstorm and the container engine has been implemented in `bst_containers.m` |
| Line 75: | Line 53: |
| == macOS == | <<HTML(<div style="border:1px solid black; background-color:#EEEEFF; width:720px; height:400px; overflow:scroll; padding:10px; font-family: Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,sans-serif; font-size: 13px; white-space: pre;">)>><<EmbedContent("https://neuroimage.usc.edu/bst/viewcode.php?core=bst_plugins.m")>><<HTML(</div >)>> |
| Line 77: | Line 55: |
| === Docker Desktop (recommended) === 1. Download Docker Desktop: [[https://docs.docker.com/desktop/|Docker Desktop documentation]] 2. Install and launch Docker Desktop 3. Wait until Docker reports that it is running ''On macOS, Docker runs inside a virtual machine. This is normal and fully supported by Brainstorm.'' ---- == Linux (desktop or workstation) == === Option 1: Docker === Install Docker following the official instructions: [[https://docs.docker.com/get-docker/|Docker installation guide]] After installation, verify that Docker is running: {{{ docker info }}} === Option 2: Podman === Podman is a Docker-compatible alternative available on many Linux systems: [[https://podman.io/get-started|Podman getting started]] Podman does not require a background service. ---- == Linux (HPC clusters) == === Apptainer / Singularity (recommended) === Most HPC systems provide '''Apptainer''' (formerly Singularity) by default. Check availability: {{{ apptainer version }}} or {{{ singularity version }}} If Apptainer is not available, please contact your system administrator or consult: [[https://apptainer.org/|Appt contandoer documentation]] ---- == Container images in Brainstorm == You do ''not'' need to download container images manually. When a Brainstorm process requires a container: * Brainstorm checks whether the image is already available * If not, you will be asked for confirmation * The image is downloaded automatically No additional commands are required. ---- == Frequently Asked Questions == === Do I need to learn Docker or containers to use Brainstorm? === No. Brainstorm manages containers automatically. You only need to install a supported runtime. ---- === Docker is installed but Brainstorm says it is not running === Make sure '''Docker Desktop is started''' and fully initialized, then retry the Brainstorm process. ---- === I don’t have administrator rights on my computer === If you are working on a shared system or cluster: * Apptainer / Singularity is usually available * If not, contact your system administrator ---- === Are containers slower than native installations? === On Linux systems, performance is usually identical. On Windows and macOS, containers run inside a virtual machine, which may be slightly slower but is generally negligible for most workflows. ---- == Summary == * Brainstorm supports Docker, Podman, and Apptainer / Singularity * Install '''one''' runtime appropriate for your system * Brainstorm downloads required container images automatically * No container expertise is required For additional help, please consult the Brainstorm forum: [[https://neuroimage.usc.edu/forums/|Brainstorm Forum]] |
For additional help, please consult the [[https://neuroimage.usc.edu/forums/|Brainstorm Forum]] |
Containers with Brainstorm
Authors: Takfarinas Medani, Malte Höltershinken, and Raymundo Cassani
Some Brainstorm functions and plugins rely on external software that is distributed as containers (for example: duneuro 2026). These containers are managed in Brainstorm as container plugins.
Container plugins are not usually installed alone, their installation is commonly as a dependency for a code plugin.
This page explains how containers are used by Brainstorm, and how set up your system to use them.
Introduction
A container is a packaged version of a software tool that includes everything it needs to run.
With containers:
You do not need to install additional libraries
- The software runs the same way on different computers
- Brainstorm can automatically download and use the required tools
You do not need prior knowledge of containers to use Brainstorm.
To be able to use containers with Brainstorm it is necessary to have a supported container engine.
Container engines
Brainstorm supports the following container engines:
Docker Desktop (recommended for most users)
TODO Podman (Linux alternative to Docker)
TODO Apptainer / Singularity (recommended on HPC clusters)
Brainstorm automatically detects which runtime is available on your system.
You need to install at least one of them.
Docker Desktop (recommended)
To install, be sure of follow the instructions for your OS:
Interactive management
SHOW THE GUI FOR CONTAINER PLUGINS
Command-line management
The calls to install or manage containers plugins are the same than for (code) plugins, see the plugin tutorial.
An API for low-level interaction between Brainstorm and the container engine has been implemented in bst_containers.m
For additional help, please consult the Brainstorm Forum
