This repository provides github action workflows for automatic docker and singularity image creation. They are triggered by releasing a new SPM version.
The containers are hosted on the GitHub Container Registry
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:singularity-matlab
singularity pull oras://ghcr.io/spm/spm-docker:singularity-octave
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
Docker is a container technology, performing operating-system-level virtualisation.
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.
The official SPM Dockerfiles
:
- Dockerfile using the SPM Standalone
- Dockerfile using GNU Octave
- Dockerfile using the SPM Standalone and selected third-party toolboxes (outdated)
The singularity sif
images are created from the docker images.
Check the SPM online documentation.
https://github.com/ReproNim/neurodocker
https://hub.docker.com/r/kaczmarj/neurodocker/
https://github.com/BIDS-Apps/SPM`](https://github.com/BIDS-Apps/SPM)
https://hub.docker.com/r/bids/spm/
https://github.com/mathworks-ref-arch/matlab-dockerfile
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