Skip to content

Commit

Permalink
Add gluex alma 9 environment for CI usage
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanwbrei committed Jul 22, 2024
1 parent c773219 commit 7f3627f
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions containers/Docker/gluex.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#
# Dockerfile - docker build script for a standard GlueX sim-recon
# container image based on alma linux 9.
#
# author: richard.t.jones at uconn.edu
# version: october 17 2023
#
# usage: [as root] $ docker build Dockerfile .
#

FROM docker.io/almalinux:9

# install the necessary yum repositories
RUN dnf -y update
RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
RUN grep 'enabled=1' /etc/yum.repos.d/epel.repo
RUN /usr/bin/crb enable
RUN dnf -y install https://repo.opensciencegrid.org/osg/3.6/osg-3.6-el9-release-latest.rpm
RUN grep 'enabled=1' /etc/yum.repos.d/osg.repo

# install a few utility rpms
RUN dnf -y install dnf dnf-plugins-core
RUN dnf -y install python-unversioned-command
RUN dnf -y install subversion cmake make imake python3-scons patch git
RUN dnf -y install libtool which bc nano nmap-ncat xterm emacs gdb wget
RUN dnf -y install gcc-c++ gcc-gfortran boost-devel gdb-gdbserver
RUN dnf -y install bind-utils blas blas-devel dump file tcsh expat-devel
RUN dnf -y install libXt-devel openmotif-devel libXpm-devel bzip2-devel
RUN dnf -y install perl-XML-Simple perl-XML-Writer perl-File-Slurp
RUN dnf -y install mesa-libGLU-devel gsl-devel python3-future python3-devel
RUN dnf -y install xrootd-client-libs xrootd-client libXi-devel neon
RUN dnf -y install mariadb mariadb-devel python3-mysqlclient python3-psycopg2
RUN dnf -y install fmt-devel libtirpc-devel atlas rsync vim
RUN dnf -y install gfal2-all gfal2-devel gfal2-plugin-dcap gfal2-plugin-gridftp gfal2-plugin-srm
RUN dnf -y install hdf5 hdf5-devel pakchois perl-Test-Harness sqlite sqlite-devel
RUN dnf -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-11-openjdk-devel
RUN dnf -y install java-17-openjdk-devel java-latest-openjdk-devel java-hdf5 java-runtime-decompiler
RUN dnf -y install lapack lapack-devel openmpi openmpi-devel xalan-j2
RUN dnf -y install openssh-server postgresql-server-devel postgresql-upgrade-devel
RUN dnf -y install procps-ng strace ucx valgrind xerces-c xerces-c-devel xerces-c-doc
RUN dnf -y install qt5 qt5-qtx11extras qt5-devel openblas-devel libnsl2-devel
RUN dnf -y install libcurl-devel uClibc-devel libuuid-devel

# install the cern root suite
RUN dnf -y install root root-cling root-fftw root-foam root-fonts root-fumili \
root-gdml root-genetic root-genvector root-geom root-geom-builder \
root-geom-painter root-geom-webviewer root-graf root-graf-asimage \
root-graf-fitsio root-graf-gpad root-graf-gpadv7 root-graf-gviz \
root-graf-postscript root-graf-primitives root-graf-x11 root-graf3d \
root-graf3d-csg root-graf3d-eve root-graf3d-eve7 root-graf3d-gl \
root-graf3d-gviz3d root-graf3d-x3d \
root-hbook root-hist root-hist-draw root-hist-factory root-hist-painter \
root-histv7 root-html root-icons root-io root-io-dcache \
root-io-sql root-io-xml root-io-xmlparser root-mathcore root-mathmore \
root-matrix root-minuit root-minuit2 root-mlp root-montecarlo-eg \
root-montecarlo-pythia8 root-multiproc root-net root-net-auth \
root-net-davix root-net-http root-net-httpsniff root-net-rpdutils \
root-netx root-notebook root-physics root-proof root-proof-bench \
root-proof-player root-proof-sessionviewer root-quadp root-r root-r-tools \
root-roofit root-roofit-batchcompute root-roofit-core \
root-roofit-dataframe-helpers root-roofit-hs3 root-roofit-jsoninterface \
root-roofit-more root-roostats root-smatrix \
root-spectrum root-spectrum-painter root-splot root-sql-mysql \
root-sql-odbc root-sql-pgsql root-sql-sqlite root-testsupport \
root-tmva root-tmva-gui root-tmva-python root-tmva-r root-tmva-sofie \
root-tmva-sofie-parser root-tmva-utils root-tpython root-tree \
root-tree-dataframe root-tree-ntuple root-tree-ntuple-utils \
root-tree-player root-tree-viewer root-tree-webviewer root-unfold \
root-unuran root-vecops root-xroofit
# root packages removed from the list for unsatisfied dependencies
# root-gui-qt5webdisplay root-gui-qt6webdisplay
# root-gui-browserv7 root-gui-builder root-gui-canvaspainter root-gui-fitpanel
# root-gui-fitpanelv7 root-gui-ged root-gui-html root-gui-webdisplay
# root-gui-recorder root-gui-webgui6 root-gui root-gui-browsable
# root-roofit-common root-io-gfal
RUN dnf -y install HepMC3-rootIO python3-HepMC3-rootIO python3-jupyroot python3-root

# install the osg worker node client packages
RUN dnf -y install osg-ca-certs
RUN dnf -y install osg-wn-client
RUN dnf -y install python3-h5py python3-scipy python3-tqdm

# install some dcache client tools
RUN dnf -y install https://zeus.phys.uconn.edu/halld/gridwork/dcache-srmclient-3.0.11-1.noarch.rpm

# install some python modules
RUN pip3 install pandas
RUN pip3 install h5hep
RUN pip3 install keras
RUN pip3 install tensorflow tensorflow-decision-forests
RUN pip3 install uproot awkward
RUN pip3 install jupyterhub
RUN pip3 install jupyterlab notebook


# Fix for Silverblue's toolbox utility
RUN dnf -y install passwd sudo
RUN ln -s /run/host/opt/cvmfs /cvmfs
RUN ln -s /cvmfs/oasis.opensciencegrid.org/gluex/group /group
RUN touch /.dockerenv


0 comments on commit 7f3627f

Please sign in to comment.