Skip to content

Bst support container#883

Draft
tmedani wants to merge 2 commits intobrainstorm-tools:masterfrom
tmedani:bst_support_container
Draft

Bst support container#883
tmedani wants to merge 2 commits intobrainstorm-tools:masterfrom
tmedani:bst_support_container

Conversation

@tmedani
Copy link
Member

@tmedani tmedani commented Feb 9, 2026

This PR introduces an initial and experimental interface to explore the use
of containerized external tools from Brainstorm.

Main contributions:

  • Add a generic utility function (bst_check_container) to detect and validate
    container runtimes (Docker, Podman, Apptainer/Singularity)
  • Provide runtime usability checks (eg. Docker daemon running)
  • Add Brainstorm GUI dialogs to guide users when installation or action is required
  • Support automatic detection and optional download of container images
  • Introduce a dedicated toolbox folder (toolbox/containers) for container-related utilities
  • Add preliminary user documentation describing how containers can be used with Brainstorm

This work is intended as a first step and proof-of-concept toward integrating
containers as a supported mechanism to run external tools (eg. duneuro) from
Brainstorm, without requiring users to manually install complex dependencies.

The current implementation is deliberately minimal and meant to enable
discussion, testing, and refinement. In particular, the long-term integration
of container-based tools may be better handled through the Brainstorm Plugin
Manager, rather than via standalone utilities, and this PR is meant to help
inform that design choice.

No existing behavior is modified, and no containers are executed directly
by this current change.

Introduce bst_check_container.m to detect and validate available container runtimes (docker, podman, apptainer, singularity), verify runtime usability (daemon running when required), and ensure a requested container image is available (with optional pull). Returns runtime, original image reference, and local .sif path for Apptainer/Singularity. Includes helper routines for command detection, runtime checks, image existence, and Brainstorm GUI dialogs for user interaction; does not execute containers.
Add an inline comment to toolbox/containers/bst_check_container.m noting the current duneuro container image tag ('ghcr.io/maltehoel/duneuro_in_docker_testing:wip') for testing/developer reference. This is a non-functional documentation-only change.
@tmedani tmedani requested a review from rcassani February 9, 2026 20:24
@tmedani tmedani marked this pull request as draft February 10, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants