HEAT via the docker container ############################# This page provides information on downloading and running HEAT from the docker container. Installing the docker container ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To run the HEAT docker container, the user will need docker and docker-compose installed on the local machine. To download docker and docker-compose ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ First download docker (docker engine) - (``_) Next, set the user up for running docker. This includes adding the user to the docker group (example link below for Linux) - (``_) Install docker-compose, which is necessary to configure the HEAT environment - (``_) Download HEAT docker container ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Now that docker is installed, you will need to pull the HEAT docker container from docker hub. The HEAT docker hub page is located here: - (``_) To pull from docker hub, execute the following command:: docker pull plasmapotential/heat:v2.0.0 (change version where necessary) Download HEAT source code from github ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To run HEAT using docker, you will need to have several files from the HEAT github page that set up the docker environment. The easiest way to download the HEAT source code is to create a new directory, and pull the source using git:: cd git clone https://github.com/plasmapotential/HEAT.git Where is the path where you want to save HEAT Once you have the HEAT source code downloaded, the files you need to run docker are located in the docker directory, /docker Starting HEAT from docker ^^^^^^^^^^^^^^^^^^^^^^^^^ In HEAT v2+ here are two ways a user can run HEAT: - In an html5 based Graphical User Interface (GUI) - From a Terminal User Interface (TUI) Starting HEAT from both interfaces is covered in the following sections. For both modes, the user needs docker, docker-compose, and the HEAT source code installed. Additionally, the following video provides an introduction to using HEAT from the docker container: .. raw:: html
Start HEAT in GUI mode ^^^^^^^^^^^^^^^^^^^^^^ To start HEAT using the graphical user interface, perform the following steps: 1) Navigate to the HEAT source code docker directory, /docker 2) Once in the docker directory, make sure the last 4 lines appear as follows:: #run docker compose docker-compose up #run docker compose interactively (for terminal mode) #docker-compose run HEAT /bin/bash 3) Run docker compose from within the docker directory:: docker-compose up Start HEAT in TUI mode ^^^^^^^^^^^^^^^^^^^^^^ To start HEAT using the terminal user interface, perform the following steps: 1) Navigate to the HEAT source code docker directory, /docker 2) Edit the docker-compose.yml recipe file. Under the volumes section, the user can bind directories on their local host machine into the docker container. For each of these lines, the host path and container path are in the following format: : You should not need to edit the , but you will need to edit the . For example, to bind the HEAT source code that you downloaded from github at the path into the container, you would have the following line under volumes in the recipe:: - :/root/source/HEAT You should uncomment the lines that correspond to the local packages that you have installed. The HEAT data directory should always be uncommented and binded:: - ${HOME}/HEAT:/root/HEAT For running in terminal mode, you will need to uncomment the line that binds your local batchMode directory into the container:: - :/root/terminal where is the directory where your batchFile lives. 3) In the docker directory, make sure the last line appears as follows:: docker-compose run HEAT /bin/bash 4) Run docker compose from within the docker directory:: #run docker compose #docker-compose up #run docker compose interactively (for terminal mode) docker-compose run HEAT /bin/bash 5) Running docker-compose in terminal mode launches a bash terminal inside the container. Once inside the container, navigate to the HEAT source code directory:: cd /root/source/HEAT/ 6) Once in the source directory, launch HEAT using the batchFile.dat that was binded into the container in step 2):: python3 launchHEAT.py --m t --f /root/terminal/batchFile.dat