This folder contains code and instructions to build and deploy a container image that will allow you to install EasyBuild and compile modules for the Lmod Jupyter extension.
This is the Fedora 34 based version with Python 3.9.
docker build . -t easybuild-f34-py39:tag
Note
|
pre-built images are available in this repo. You can use the image tagged "latest" in all the following commands. |
-
Create a local folder for your data (
easybuild-data
in this example). -
Run the image with:
docker run --rm -it -v /your_path/easybuild-data:/opt/apps/easybuild:z easybuild-f34-py39:v0.0.1 /opt/apps/src/easybuild_install.sh
-
Easybuild will be installed in the data folder and the environment will initialized.
-
Run the image with:
docker run --rm -it -v /your_path/easybuild-data:/opt/apps/easybuild:z easybuild-f34-py39:v0.0.1 /opt/apps/src/easybuild_install.sh
-
The container will run continuously. Follow the instructions from the logs to connect to it and interact with EasyBuild.
-
For a quick overview on how to use EasyBuild, have a look at the typical workflow.
If you use the modules within a JupyterLab environment with the customized JupyterLmod extension (see this repo), you can have specific modules put into a "featured" list, making them more visible. To do that, you only need to copy the module definition into the "featured folder".
-
From the
/opt/apps/easybuild/modules
folder, locate the module you want to be featured. Example: Tensorflow is located underlib/Tensorflow
. -
Copy the content (command run from the
modules
folder):cp -R lib/Tensorflow featured/
-
This command will copy all the modules under the Tensoflow folder. If you want a specific version, only copy the corresponding file, but respect the folder hierarchy.
You can use different sources to provide easyconfigs. You only need to copy those sources locally, then modify the robot paths (the location where EasyBuild looks for modules definition) to include those sources.
-
From the running EasyBuild container:
mkdir -p /opt/apps/easybuild/repos && cd /opt/apps/easybuild/repos
git clone https://github.com/guimou/odh-easyconfigs.git
odh-easybuilds
by your repo folder)sed -i '\!^robot-paths! s!$!:/opt/apps/easybuild/repos/odh-easyconfigs/!' /opt/apps/easybuild/easybuild.d/config.cfg
Note
|
If you’re not a sed fan, just append :path_to_repo to te end of the robotpath line in the configuration file (/opt/apps/easybuild/easybuild.d/config.cfg ).
|