A containerised environment for nuclear physics research.
- ROOT (v6-28-10) - CERN's data analysis framework
- Geant4 (v11.1.3) - Monte Carlo simulation toolkit
- SRIM (2013) - Stopping and Range of Ions in Matter
- AZURE2 - R-matrix code for nuclear astrophysics
- GUI Menu - Qt-based launcher (in development)
nuclear-docker/
├── hostScripts/ # Scripts that run on host machine
│ ├── buildDocker.sh # -> Builds Docker image
│ ├── buildSingularity.sh # -> Converts to Singularity format
│ └── config.sh # -> Project configuration
├── containerScripts/ # Scripts copied into container
│ └── test_container.sh # -> Tests installation
├── gui/ # GUI menu application
│ ├── MenuWindow.h # -> Qt header file
│ ├── MenuWindow.cpp # -> Qt implementation
│ ├── main.cpp # -> Application entry point
│ └── compileMenu.sh # -> Build script for GUI
├── Dockerfile # Container definition
├── build.sh # Main build script
└── startContainer.sh # Launches container with X11
- Docker - Install Docker
- Singularity - Install Singularity
- X11 server - For GUI applications
Tested on:
- Docker version 27.3.1
- Singularity version 3.5.3
Interactive build:
./build.shFollow the prompts to build Docker and/or Singularity images.
Start interactive session:
./startContainer.shThis launches the container with:
- X11 forwarding for GUI applications
- Interactive zsh shell
- All nuclear physics software ready to use
Once inside the container, test graphics:
containerScripts/test_container.shor run:
menuand follow prompts
Edit hostScripts/config.sh to customise:
- Docker image name
- Debug settings
X11 Graphics Issues:
- Check
$DISPLAYvariable is set - Try
xhost +local:$(whoami)on host
Build Failures:
- Ensure sufficient disk space (build requires ~13GB)
Permission Issues:
- Ensure scripts are executable:
chmod +x *.sh hostScripts/*.sh