spm-docker
spm-docker copied to clipboard
SPM Containers (Docker & Singularity)
SPM Containers
Technology
Docker
Docker is a container technology, performing operating-system-level virtualisation.
Singularity
Singularity is another container technology that performs operating-system-level virtualization. One of the main uses of Singularity is to bring containers and reproducibility to scientific computing and HPC.
SPM Containers
Official SPM Dockerfile
and singularity.def
(using the SPM Standalone or GNU Octave):
Dockerfile for SPM
- Dockerfile using SPM Standalone and MATLAB Runtime
- Dockerfile using GNU Octave
Singularity Definition File for SPM
- singularity.def using SPM Standalone and MATLAB Runtime
- singularity.def using GNU Octave
Container Registry
Pre-built images are available from GitHub Packages:
docker pull ghcr.io/spm/spm-docker:docker-matlab
docker pull ghcr.io/spm/spm-docker:docker-octave
singularity pull oras://ghcr.io/spm/spm-docker:matlab
singularity pull oras://ghcr.io/spm/spm-docker:octave
See also a Docker image for SPM Standalone and selected third-party toolboxes with the MATLAB Runtime:
docker pull ghcr.io/spm/spm-docker:docker-tbx
Usage
For example, to start SPM with its graphical user interface, use the following:
xhost +local:docker
docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp:/tmp -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/spm/spm-docker:docker-matlab fmri
If the container's root filesystem is mounted as read only
(--read-only
flag), you need to bind mount an extra volume:
-v /tmp/.matlab:/root/.matlab
Documentation
Check the SPM online documentation.
See also
Neurodesk
Neurodocker
https://github.com/ReproNim/neurodocker
https://hub.docker.com/r/kaczmarj/neurodocker/
SPM BIDS-App
https://github.com/BIDS-Apps/SPM`](https://github.com/BIDS-Apps/SPM)
https://hub.docker.com/r/bids/spm/
MATLAB Dockerfile
https://github.com/mathworks-ref-arch/matlab-dockerfile
Singularity
sudo singularity build spm12.sif spm12-octave.def
singularity exec spm12.sif
./spm12.sif --help
(how to install singularity on Ubuntu)
Docker Hub (deprecated)
SPM Docker images used to be hosted on Docker Hub but this is now deprecated and the GitHub Packages Container Registry should be used instead.
docker pull spmcentral/spm:latest
docker pull spmcentral/spm:octave